我知道NULL
值與空字符串(""
)值之間的區別是什麼,但如果我想通過使用OR
關鍵字獲取值,則不會得到NULL
值MySQL:獲取空字符串或空字符串
我想查詢看起來像這樣的表:
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 '%'
所以這更像是一個題外話,對不起
我想同樣的事情,它並返回零行。爲什麼? – 2010-06-13 20:52:55
甚至 從'titles_and_tags'選擇* WHERE'tag' IS NULL'將返回零,我想 – 2010-06-13 20:59:00
@Taz:不適合我。你確定你正在執行查詢嗎? 'SELECT * FROM titles_and_tags'是否返回任何行? – 2010-06-13 21:00:49