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

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

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

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注