Sql server tsql:如何替换子字符串?

Sql server tsql:如何替换子字符串?,sql-server,tsql,substring,Sql Server,Tsql,Substring,目标:我有字符串“1234432144”,我只想用“10”替换前2个4,这样我就得到了“1231032144” 在tsql中有这样做的方法吗 到目前为止,我已经提出了tsql substring()函数 substring('1234432144', 4, 2) 这画出了44。。但是,如何在现有字符串中替换它 如果我在其周围包装一个replace函数,它将替换字符串中所有出现的44 有什么想法吗 提前感谢。使用参数化版本编辑 DECLARE @myStr VARCHAR(50) DECLAR

目标:我有字符串“1234432144”,我只想用“10”替换前2个4,这样我就得到了“1231032144”

在tsql中有这样做的方法吗

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

substring('1234432144', 4, 2) 
这画出了44。。但是,如何在现有字符串中替换它

如果我在其周围包装一个replace函数,它将替换字符串中所有出现的44

有什么想法吗


提前感谢。

使用参数化版本编辑

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)

仅更换前2个4的标准是什么?我只是想找到一种方法来更换第一组双4,而不考虑位置,而不是让它在整个字符串中重复更换。当然,如果要求将前4替换为1,将第二个4替换为0,而不是将44替换为10,那么它将不起作用。在这种情况下,您需要调用函数两次。