Oracle – 更新字符串以仅替换最后一个字符

我在Oracle 9i数据库中有以下字符串: A,B,C, 当它是字符串中的最后一项时,我需要替换’,’的所有实例.我已经提出了以下声明,但它删除了字段中的所有内容,而不仅仅是逗号.有什么建议? UPDATE table SET column = REPLACE(SUBSTR(column,-1,1),’,”); 解决

我在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) = ',';

这将确保您仅在具有以“,”结尾的值的行中进行替换.

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐