gpt4 book ai didi

即使没有匹配项,Mysql REGEXP 也会返回 true。

转载 作者:行者123 更新时间:2023-11-29 12:17:45 25 4
gpt4 key购买 nike

我正在使用以下查询

SELECT u.id
FROM users u
INNER JOIN user_widgets uw ON uw.user_id = u.id
WHERE filters REGEXP '"job_skill":\{"label":"name","val":".*(\[\[3D Designer\]\])'

针对此字段

{"job_skill":{"label":"name","val":"[[Web]]"},"country":{"label":"name","val":"[[Jordan]],[[Syria]]"},"city":{"label":"name","val":""}}

这个查询非常适合我的需求,但由于一些奇怪的原因,它返回了 user_id,即使该字段显然不包含这个值,现在是凌晨 3:36,我的大脑几乎停止运转,所以请原谅如果我还不够清楚,请告诉我。

最佳答案

您需要使用否定字符类而不是 .*,因为 .* 是贪婪的,它会尽可能匹配许多字符。

WHERE filters REGEXP '"job_skill":\{"label":"name","val":"[^\{\}]*(\[\[3D Designer\]\])'

[^\{\}]* 匹配任何字符,但不匹配 {} 零次或多次。

关于即使没有匹配项,Mysql REGEXP 也会返回 true。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503895/

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