我们有以下查询,用于将备忘录字段中的任何 & 替换为HTML等效项(&)。在编写查询时,我们没有考虑到该字段中可能还存在其他以“&”开头的HTML标签(即——"等)。由于我们必须确保所有的和符号在单独使用而不是其他标记的一部分时都是HTML等效项,因此我们必须跳过那些作为其他标记一部分的和符号。话虽如此,似乎可以以 & 开始的最短HTML标记长度为3个字符,最长为六个字符,因此是否有任何更新where子句的想法,以便它不会更新任何在 & 后的4-7个字符中带有“;”的 &?谢谢。
UPDATE STOCKMEM
SET INETFDESC = CAST(
REPLACE(
REPLACE(
CAST(INETFDESC as NVarchar(MAX))
,'&','&')
, '&', ,'&')AS NText)
WHERE INETFDESC LIKE '%&[^amp;]%'