您好我正在尝试删除列中的所有逗号,例如第1列 包含:1,232,3,123,123,32,223。如何删除逗号,以便将行更新为1232,3123,123,32223?。我尝试了以下内容:
SELECT REPLACE(col1,',','');
但是出现以下错误:错误代码:1054。“字段列表”中的未知列'col1'
答案 0 :(得分:1)
不要将数字存储在字符串中!这是一个糟糕的表现形式,Oracle提供了更好的解决方案,如嵌套表或JSON。
有时我们会遇到其他人糟糕的设计决策。我认为这个地方最简单的方法是多步替换:
select replace(replace(replace(col1, ', ', '~ '), ',', ''), '~ ', ', ')
这假设~
没有出现在字符串中。
答案 1 :(得分:1)
用例:您的表中有一列具有varchar类型的列,并且您要从此列中存储的值中删除所有逗号。
最初,我不确定如何应用上述解决方案。这就是我实现自己想要的方式。
update book set title = replace(title,'.','') where bookid<>0