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 函数截取字符串,从第一个字符开始,截取到最后一个逗号之前的位置。
  • regexp_substr(FUSERS, ',[^,]*$'): 使用 regexp_substr 函数获取最后一个逗号及其后面的部分。
  • where fcode='E12023020017': 只更新 fcode 等于 'E12023020017' 的记录。

示例:

假设 FUSERS 字段的值为:'user1,user2,user3'

执行该 SQL 语句后,FUSERS 字段的值将变为:'user1,user2'

注意:

  • 该语句只删除最后一个逗号分隔的值,如果需要删除多个值,需要修改 SQL 语句。
  • 使用该语句前,请确保数据备份。
Oracle SQL: 删除最后一个逗号分隔的值

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

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