我在Oracle 9i数据库中有以下字符串:
A,B,C,
当它是字符串中的最后一项时,我需要替换’,’的所有实例.我已经提出了以下声明,但它删除了字段中的所有内容,而不仅仅是逗号.有什么建议?
UPDATE table SET column = REPLACE(SUBSTR(column,-1,1),','');
解决方法
你忘了添加条件:WHERE SUBSTR(column,1)=’,’
Quassnoi发现了另一个问题 – REPLACE返回null – 你不能在“set”中使用它
全sql:
UPDATE table SET column = SUBSTR(column,length(column)-1) WHERE SUBSTR(column,1) = ',';
这将确保您仅在具有以“,”结尾的值的行中进行替换.