gpt4 book ai didi

MySQL:获取空字符串或空字符串

转载 作者:行者123 更新时间:2023-11-29 01:33:52 25 4
gpt4 key购买 nike

我知道 NULL 值和空字符串 ("") 值之间有什么区别,但是如果我想通过使用 获取值OR 关键字,我没有得到 NULL

的结果

我要查询的表是这样的:

 titles_and_tags
+----+----------+------+
| id | title | tag |
+----+----------+------+
| 1 | title1 | NULL |
| 2 | title2 | tag1 |
| 3 | title3 | tag2 |
| 4 | edit | NULL |
| 5 | rowdata | div |
+----+----------+------+

我使用的查询如下所示:

select * 
from `titles_and_tags`
WHERE `title` LIKE "title%"
AND `tag` = "tag1" OR `tag` IS NULL

所以我想在这里得到一行 (id: 1,2),但是结果是 0 行。我做错了什么?

编辑

抱歉,我忘了那是我的主要问题:

select * 
from `titles_and_tags`
WHERE `title` LIKE "title%"
AND `tag` = "tag1" OR `tag` LIKE '%'

所以这更像是一个题外话,抱歉

最佳答案

尝试

select 
*
from
`titles_and_tags`
WHERE
`title` LIKE "title%" AND
(`tag` = "tag1" OR `tag` IS NULL)

您在 like 中遗漏了通配符 %,此外,您应该将 or 子句括在括号中,以便清楚和明确地对逻辑进行分组一起确保它按照您预期的方式执行。

编辑:在您的编辑中,tag like '%' 将匹配所有 tag 不为 null 的行。 isnot isnull 值之外的任何 比较都是假的。我不确定您要对最后一个查询做什么,但我怀疑您最初提出问题的那个更像是您真正想要的。

关于MySQL:获取空字符串或空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3033782/

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