tsql:子串替换怎么办?

时间:2010-03-22 16:31:03

标签: sql-server tsql substring

目标:我有字符串“1234432144”我只想用'10'替换前2 4'所以我会得到'1231032144'

有没有办法在tsql中执行此操作?

到目前为止,我已经提出了tsql substring()函数

substring('1234432144', 4, 2) 

绘制了44 ..但是如何在现有字符串中替换它?

如果我在它周围换一个替换函数,它会替换字符串中所有出现的44。

任何想法?

提前感谢。

1 个答案:

答案 0 :(得分:5)

用paremeterised版本编辑。

DECLARE @myStr VARCHAR(50)
DECLARE @findStr VARCHAR(50)
DECLARE @replaceStr VARCHAR(50)

SET @myStr = '1234432144'
SET @findStr = '44'
SET @replaceStr = '10'

SELECT STUFF(@myStr, CHARINDEX(@findStr, @myStr), LEN(@findStr), @replaceStr)