在Oracle中消除重复的字符串

时间:2020-04-21 10:56:49

标签: sql string oracle oracle-sqldeveloper

大家好,这是我在这里的第一个问题:)

  • 我在表中有一条记录:“ 250MB RAW DATA 250MB RAW DATA”
  • 我想将记录更改为此:“ 250MB RAW DATA”

如何消除第二个“ 250MB RAW DATA”字符串?

但是我的所有记录都不是这样。在这种情况下,我只需要更改重复的记录

谢谢您的回答

1 个答案:

答案 0 :(得分:1)

您可以使用case表达式查看该值是否重复:

select val, 
       (case when val = substr(val, 1, length(val) / 2) || ' ' || substr(val, 1, length(val) / 2)
             then substr(val, 1, length(val) / 2)
             else val
        end) as half_val
from (select '250MB RAW DATA 250MB RAW DATA' as val from dual union all
      select '250MB RAW DATA' from dual
     ) x;