2017-04-21 40 views
-2

我有一个字符串,如'ABC,DEF,GHI'。我想追加单引号和逗号,我的结果应该像这样'ABC','DEF','GHI'将单引号和逗号附加到oracle中的字符串中

+1

你尝试过这么远吗?提示:看起来你必须用''替换'','''' – Aleksej

+0

你为什么要这样做?如果您认为这可以帮助您解决在'IN'条件下使用像'ABC,DEF,GHI'这样的字符串的问题,请再考虑一下;不起作用。 – mathguy

回答

0

您可以使用REPLACE()函数执行此操作。您还需要在字符串的开头和结尾添加单引号(如果它们不存在 - 在我的解决方案中,我假设它们没有),并且您必须小心单引号字面量,因为它在弦乐中也有特殊的含义。

像这样的东西应该工作:

with inputs (str) as (select 'ABC,DEF,GHI' from dual) 
    -- end of test data (not part of the solution); SQL query begins BELOW THIS LINE 
select str as old_str, '''' || replace(str, ',', ''',''') || '''' as new_str 
from inputs 
; 

OLD_STR  NEW_STR 
----------- ----------------- 
ABC,DEF,GHI 'ABC','DEF','GHI' 
相关问题