我運行此查詢MySQL查詢返回不正確的結果與多個般的表情
SELECT `contacts`.*
FROM `contacts`
WHERE
((email NOT LIKE '%domain1%') AND
(email NOT LIKE '%domain2%') AND
(email NOT LIKE '%domain3%') AND
(email NOT LIKE '%domain4%')
) AND (
DATE(created_at) = '2014-03-21'
)
結果是
=> [["[email protected]", Fri, 21 Mar 2014 06:17:07 UTC +00:00],
["[email protected]", Fri, 21 Mar 2014 17:05:21 UTC +00:00]]
問題
- 結果應該排除與「域1」的所有行,「domain2」等等......但它並沒有這樣做
PS:查詢結果沒有顯示爲MySQL輸出,因爲我從rails控制檯運行它。
Contact.external.created_on(Time.parse("2014-03-21 ")).collect {|e| [e.email, e.created_at]}
你肯定是查詢正在運行?它應該做你期望的並且過濾掉這四個域。 –
只是建議,我建議在您的域名中包含TLD,例如「domain1.com」。然後你可以使用'SUBSTRING(email ...)'而不是'LIKE'。我認爲這可以提高表現。 –
如果您需要檢查它,您可以從您的mysql.log文件中提取實際查詢 – andrew