我们有下面的查询,用于替换备注字段中的任何&,其中包含HTML等效项(&)。在撰写时,我们并不认为该字段中还有可能以“&”开头的其他HTML标签(即— "等)。既然我们必须确保所有的&符号是单独使用时的HTML等价物,而不是另一个标签的一部分,我们必须跳过那些在另一个标签中的部分。也就是说,最短的HTML标签可以以&开头,似乎是3个字符,最长的似乎是6个字符,所以& _ _ _;到& _ _ _ _ _ _;在长度...有没有更新where子句的任何想法,以便它不更新任何&这是继续与“;”在接下来的4-7个字符后&?谢谢。SQL替换WHERE子句
UPDATE STOCKMEM
SET INETFDESC = CAST(
REPLACE(
REPLACE(
CAST(INETFDESC as NVarchar(MAX))
,'&','&')
, '&', ,'&')AS NText)
WHERE INETFDESC LIKE '%&[^amp;]%'
您是否考虑过使用RegEx? http://stackoverflow.com/questions/8928378/using-regex-in-sql-server – Svek
不知道如果这是一个选项,但如果我有这个问题,我会用一个C#脚本任务使用SSIS – RoundFour
这些事情通常使用编程语言,然后在sql中处理得更好。 – ATC