目标:我有字符串“1234432144”我只想用“10”替换前2个4,所以我会得到“1231032144”
有没有办法在 tsql 中做到这一点?
到目前为止,我已经提出了 tsql substring() 函数
substring('1234432144', 4, 2)
它绘制了 44 .. 但是我如何在现有字符串中替换它?
如果我在它周围包装一个替换函数,它会替换字符串中所有出现的 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)
关于sql-server - tsql : how to do a substring replace?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2493971/