簡體   English   中英

兩個日期之間的SQL

[英]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_datedate列,請使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM