您好 我有一个nvarchar(1000)类型的列。我需要摆脱该列中的编码字符并用它们的特殊字符替换它们。 例如:
column value is : 'This text values contains this '&' this'.
我必须将'&'
替换为'&'。
'&'
的记录(可能使用类似条件)我该怎么做? PL。帮助
答案 0 :(得分:31)
这将替换整个列
REPLACE(MyColumn, '&', '&')
你必须嵌套其他替代品......
REPLACE(REPLACE(MyColumn, '&', '&'), '>', '>')
一起
UPDATE myTable
SET MyColumn = REPLACE(MyColumn, '&', '&')
WHERE MyColumn LIKE '%&%'
答案 1 :(得分:8)
UPDATE mytable
SET mycol = REPLACE(mycol, N'&', N'&')
WHERE mycol LIKE '%&%'
修改的 如果您决定一次性替换多个html实体,则替换的顺序可能会改变结果。
例如:
<
如果您先将&<
替换为&
,然后将&
替换为<
,将变为<
,但如果您将<
,则结果为<
首先尝试将<
替换为&
,然后&
替换为&
。
如果我必须做那种替换,我通常会因为这个原因替换{{1}}。当然,是一个边缘案例,而不是经常发生的事情,但你永远不会知道......
答案 2 :(得分:5)
通用语法:
UPDATE Table_Name
SET Column_Name = REPLACE(Column_Name, 'Text_To_Be_Replaced', 'New_Text')
WHERE Column_Name LIKE '%Text_To_Be_Replaced%'
答案 3 :(得分:1)
Update TABLE
Set field = replace(field, '&', '&');