gpt4 book ai didi

SQL 替换 WHERE 子句

转载 作者:行者123 更新时间:2023-12-04 20:15:59 25 4
gpt4 key购买 nike

我们编写了以下查询,用于用 HTML 等效项 (&) 替换备注字段中的任何 &。编写时,我们没有考虑到该字段中可能还有其他以“&”开头的 HTML 标签(即 — "等)。因为我们必须确保所有 & 符号在单独使用时与 HTML 等效,而不是其他符号的一部分标签我们必须跳过那些在另一个标签的一部分。也就是说,以 & 开头的最短 HTML 标签似乎是 3 个字符,最长的似乎是 6 个字符,所以 & _ _ _ ; 到 & _ _ _ _ _ _ ; 在长度上......是否有关于更新 where 子句的任何想法,以便它不会更新任何 & 在 & 之后的接下来的 4-7 个字符中以“;”开头?谢谢。

 UPDATE STOCKMEM
SET INETFDESC = CAST(
REPLACE(
REPLACE(
CAST(INETFDESC as NVarchar(MAX))
,'&','&')
, '&', ,'&')AS NText)
WHERE INETFDESC LIKE '%&[^amp;]%'

最佳答案

可能不是处理这个问题的最好方法,但是......

您可以使用下划线 _作为该位置应该有某个字符的指示符,这在这种情况下有效地使其成为字符计数器。只是一个简单的例子:

SELECT REPLACE('This is &[^amp;] just a test.','&[^amp;]','&')
WHERE 'This is &[^amp;] just a test.' LIKE '%&___;%'

这不会返回值,因为 WHERE 中的字符串条款不包括 &后跟三个字符 _ _ _后跟一个分号。
SELECT REPLACE('This is &[^amp;] just a test.','&[^amp;]','&')
WHERE 'This is &[^amp;] just a test.' LIKE '%&_____;%'

这将返回一个值,因为 LIKE WHERE 中的字符串满足条件条款: &_ _ _ _ _; (为清晰起见添加了间距)

也许你可以利用它来发挥你的优势?

关于SQL 替换 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42382807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com