update t_maeinfo set FUSERS=substr(FUSERS, 1, length(FUSERS) - length(regexp_substr(FUSERS, ',[^,]*$'))) where fcode='E12023020017';

该 SQL 语句用于删除 t_maeinfo 表中 FUSERS 列的最后一个逗号分隔的值。

解释:

  • update t_maeinfo: 更新 t_maeinfo 表中的数据。
  • set FUSERS=...: 将 FUSERS 列的值设置为新的值。
  • substr(FUSERS, 1, length(FUSERS) - length(regexp_substr(FUSERS, ',[^,]*$'))): 使用 substr 函数从 FUSERS 列中提取字符串,并使用 length 和 regexp_substr 函数计算要截取的长度。
    • regexp_substr(FUSERS, ',[^,]*$): 使用正则表达式匹配最后一个逗号分隔的值,并返回该值。
    • length(regexp_substr(FUSERS, ',[^,]*$')): 计算最后一个逗号分隔值的长度。
    • length(FUSERS) - length(regexp_substr(FUSERS, ',[^,]*$')): 计算需要保留的字符串长度。
  • where fcode='E12023020017': 指定要更新的行的条件。

示例:

假设 FUSERS 列的值为 'A,B,C,D',执行该 SQL 语句后,FUSERS 列的值将变为 'A,B,C'。

注意:

该 SQL 语句适用于以逗号分隔的字符串,如果您的字符串使用其他分隔符,请修改正则表达式以匹配您的分隔符。

Oracle SQL: 删除 FUSERS 列中最后一个逗号分隔的值

原文地址: http://www.cveoy.top/t/topic/mI8C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录