[英]Sql between two dates
我有這個查詢:
SELECT *
FROM some_table
WHERE id != 1 AND
(event_date BETWEEN '20/06/2015' AND '01/07/2015')
ORDER BY the_date
結果為0。如果我嘗試以下查詢:
SELECT *
FROM events
WHERE id != 1 AND
(event_date BETWEEN '20/06/2015' AND '29/06/2015')
ORDER BY the_date
有用。
兩個月(六月和七月)之間的區別是什么問題?
謝謝。
似乎您是按字典順序比較這些日期。 假設event_date
是date
列,請使用str_to_date
將字符串文字轉換為日期:
SELECT *
FROM some_table
WHERE id != 1 AND
(event_date BETWEEN STR_TO_DATE('20/06/2015', '%d/%m/%Y') AND
STR_TO_DATE('01/07/2015', '%d/%m/%Y'))
ORDER BY the_date
以ISO標准YYYY-MM-DD格式寫入日期常量:
SELECT *
FROM some_table
WHERE id != 1 AND
event_date BETWEEN '2015-06-20' AND '2015-07-01'
ORDER BY the_date
MySQL使用以下數據類型保存日期:
DATE-格式YYYY-MM-DD
DATETIME-格式:YYYY-MM-DD HH:MI:SS
時間戳-格式:YYYY-MM-DD HH:MI:SS
嘗試更改日期格式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.