目标:我有一个字符串“1234432144”,我想只用“10”替换前两个“4”,所以我会得到“1231032144”。
在tsql中有没有这样做的方法?
到目前为止,我已经想出了tsql子字符串(substring())函数。
substring('1234432144', 4, 2)
这段代码中有一个 44,但我要如何在现有字符串中替换它呢?
如果我使用 replace 函数来包裹它,它会替换掉字符串中所有的 44。
你有什么想法吗?
提前感谢您的帮助。
目标:我有一个字符串“1234432144”,我想只用“10”替换前两个“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)