我有一个表名列,可以包含带引号的子串......“substring”... 对于此表中的每一行,我需要替换第一次出现的“with”和第二次出现的» 每行只能包含一个带引号的子字符串。
所以如果我有这样的记录'fgh“abc”sdf'我想得到这个'fgh«abc»sdf'
我无法为此提出解决方案。
答案 0 :(得分:2)
首先是语法如何工作的一个例子
DECLARE @a varchar(max) = 'fgh"abc"sdf'
SELECT
stuff(stuff(@a, charindex('"', @a),1, '«'),
charindex('"', @a, charindex('"', @a) + 1), 1, '»')
结果:
fgh«abc»sdf
这是需要的查询,其中col是列的名称:
SELECT
stuff(stuff(col, charindex('"', col),1, '«'),
charindex('"', col, charindex('"', col) + 1), 1, '»')
FROM yourtable
答案 1 :(得分:0)
您可以执行以下操作:
DECLARE @TmpVar VARCHAR(100)
SET @TmpVar = 'haha"substring"hehe'
SET @TmpVar = STUFF(@TmpVar, CHARINDEX('"', @TmpVar), 1, '«')
SET @TmpVar = REPLACE(@TmpVar, '"', '»')