我有一個傳記數據表,我需要做一個查詢,選擇在他們的生物中有「死亡」一詞並且死亡日期爲NULL的人。這不起作用:MySQL選擇與LIKE和WHERE
SELECT * FROM people
WHERE bio LIKE '%died%'
AND death_date IS NULL
那大家選擇其death_date爲空,也選擇誰沒有這個詞人們在他們的生物「死亡」。我可以在一個查詢中做到這一點嗎?
我有一個傳記數據表,我需要做一個查詢,選擇在他們的生物中有「死亡」一詞並且死亡日期爲NULL的人。這不起作用:MySQL選擇與LIKE和WHERE
SELECT * FROM people
WHERE bio LIKE '%died%'
AND death_date IS NULL
那大家選擇其death_date爲空,也選擇誰沒有這個詞人們在他們的生物「死亡」。我可以在一個查詢中做到這一點嗎?
它可以像一個字‘completelydied’,他們仍然會被選中。仔細如果檢查'died'短語不存在作爲您選擇的記錄中的某個單詞的一部分
在「死亡」之前添加空格似乎可行,謝謝。 – kirkaracha 2010-11-19 17:01:14
不要忘記,如果單詞處於生物的開頭,那麼在'已死'前添加空格將不起作用。 – 2010-11-19 17:03:29
也許問題是引號,用「而不是」包LIKE子句。
SELECT * FROM people
WHERE bio LIKE "%died%"
AND death_date IS NULL
像這樣運行查詢返回相同的結果。 – kirkaracha 2010-11-19 16:59:57
什麼數據類型是「生物」字段? – Webnet 2010-11-19 18:16:10
我建議您使生物大寫,並像「%DIED%」也確保death_date真的爲空,請參閱如果你從兩個地方獨立獲得答案,你會得到什麼迴應?
使用WHERE death_date IS NULL本身返回其death_date爲NULL的人員。 – kirkaracha 2010-11-19 16:59:35
呢?在哪裏(生物)喜歡'%DIED%' – 2010-11-19 17:01:50
你確定它返回的人沒有'死'在他們的生物?請記住,它還將包含含有死亡的詞語,例如研究過的和富有的。 – Kibbee 2010-11-19 16:56:41