SQL字符串替换解决方法

时间:2009-09-22 17:03:05

标签: sql string sybase

我正在使用Sybase 10的修改版本,它没有stuff,replace或str_replace函数。我需要在许多记录中替换部分字符串。

是否有任何创造性的方法可以对此进行编程,因此我不必手动完成所有这些操作?

示例:

UPDATE status
SET description = replace(description,'abc','def')
WHERE name = 'test'

编辑:我发现我们没有字符串操作函数,我必须进行导出和导入才能进行批量字符串更改。我会留下这个问题,所以其他不受我限制的人将能够找到答案。

2 个答案:

答案 0 :(得分:6)

UPDATE status
SET description = SUBSTRING(description,1,CHARINDEX('abc',description)-1) 
                  + 'def' + 
                  SUBSTRING(description,CHARINDEX('abc',description)+CHAR_LENGTH('abc'),CHAR_LENGTH(description)-CHARINDEX('abc',description))
WHERE name = 'test'

Tricky,你必须在几个地方放置你想要改变的文字,但它有用; - )

答案 1 :(得分:0)

charindex和substring的组合应该适合你。