簡體   English   中英

如何在MySQL中的日期范圍之間查詢

[英]How to Query between a date range in MySQL

演示表結構在這里

我在查詢

SELECT * FROM tempLog WHERE date BETWEEN '23-03-2017' AND '02-04-2017'

結果為空。 如何解決這個問題。

SELECT * FROM tempLog WHERE date BETWEEN '23-03-2017' AND '30-03-2017'

給我正確的結果。 注意:-tempLog是表名。

您應該以date格式或至少正確格式的字符串(YYYY-MM-DD)存儲日期。

現在,您可以使用str_to_date將字符串轉換為日期並進行比較:

select *
from tempLog
where str_to_date(date, '%d-%m-%Y') between '2017-03-23' and '2017-04-02';

但是請注意,這將妨礙優化器在列上使用索引(如果有)。

解決此問題的正確方法是修復表結構。

根據文檔 ,您應該在編寫日期時使用以下格式: 'YYYY-MM-DD' (盡管它表示在某些情況下可能接受'YYYYMMDD'甚至是YYYYMMDD )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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