gpt4 book ai didi

mysql - LIKE 查询中的转义字段

转载 作者:可可西里 更新时间:2023-11-01 08:29:49 29 4
gpt4 key购买 nike

以下查询:

SELECT `att`.`val` FROM `att` WHERE NOT (`att`.`val` LIKE `att`.`val`);

应该什么都不返回,对吧?

但它会返回所有包含反斜杠的 val

如何让它不返回任何内容?

val 是一个 varchar(1024) 字段(不是主字段,也不是 null)。

这当然是一个无用的查询,但它是另一个出于同样原因而不起作用的查询的简化版本。

我正在使用 mysql 5.6.20。

谢谢!

编辑:

我想转义每个需要转义的字符,以便查询按预期工作。不仅仅是反斜杠。

最佳答案

尝试将条件更改为:

WHERE NOT (`att`.`val` LIKE replace(`att`.`val`,'\\','\\\\'))

- 这将 val 中的单反斜杠替换为双反斜杠,因此它们不会充当转义字符,而是被 like 表达式视为文字反斜杠。 (第一个反斜杠转义第二个。)

关于mysql - LIKE 查询中的转义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30100903/

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