替换语句 - DB2中的转义字符问题

时间:2014-08-11 08:41:20

标签: sql replace escaping db2

嗨我在COLUMN1中有行:

C:\DOCLINKS\ATTACHMENTS\test.txt
C:\DOCLINKS\ATTACHMENTS\uvac1.jpg
C:\DOCLINKS\ATTACHMENTS\imopact.txt

和许多其他行...

我希望用C:\DOCLINKS\ATTACHMENTS\

替换字符串/shared/doclinks/attachments/

所以结果应该是:

/shared/doclinks/attachments/test.txt
/shared/doclinks/attachments/uvac1.jpg
/shared/doclinks/attachments/imopact.txt

这不起作用:

update  docinfo 
set COLUMN1 = replace('%C:\DOCLINKS\ATTACHMENTS\%', 'C:\DOCLINKS\ATTACHMENTS\', '/shared/doclinks/attachments/')

如何使用replace语句进行转义? 我尝试过:

'\\%' escape '\'

'%\\%'

但没有任何作用。

提前谢谢

1 个答案:

答案 0 :(得分:1)

可能是您执行命令的程序。我从db2clp执行以下命令,它可以工作:

db2 "update paths set path = replace (path, 'C:\DOCLINKS\ATTACHMENTS\','/shared/doclinks/attachments/')"

您的问题可能就是调用替换函数的方式。源字符串只是列名。它不像"喜欢"子句。