用 ASCII 字符替换引号
Replace Quotes by ASCII chars
我有 table 存储给定 table 的一组属性,属性名称和要更新到的目标值。
例如:
AttributeName | TargetValue
CustomerName | Tom
CustomerAddress | The ' road
...
如您所见,目标值中可能存在单引号。
我想要创建以下输出的动态 sql:
UPDATE T1
SET CustomerName = 'Tom',
CustomerAddress = 'The ' + CHAR(39) + ' road'
...
FROM Target T1
INNER JOIN MyList T2
ON...
简单来说:
从下面的变量创建
DECLARE @Word NVARCHAR(MAX) = 'I '' have '' quotes'
SELECT @Word
以下输出:
'I ' + CHAR(39) + ' have ' + CHAR(39) + ' quotes'
试试这个....
select '''' + replace(@Word, '''', ''' + CHAR(39) + ''') + ''''
这会让你得到你想要的结果。
我有 table 存储给定 table 的一组属性,属性名称和要更新到的目标值。
例如:
AttributeName | TargetValue
CustomerName | Tom
CustomerAddress | The ' road
...
如您所见,目标值中可能存在单引号。
我想要创建以下输出的动态 sql:
UPDATE T1
SET CustomerName = 'Tom',
CustomerAddress = 'The ' + CHAR(39) + ' road'
...
FROM Target T1
INNER JOIN MyList T2
ON...
简单来说: 从下面的变量创建
DECLARE @Word NVARCHAR(MAX) = 'I '' have '' quotes'
SELECT @Word
以下输出:
'I ' + CHAR(39) + ' have ' + CHAR(39) + ' quotes'
试试这个....
select '''' + replace(@Word, '''', ''' + CHAR(39) + ''') + ''''
这会让你得到你想要的结果。