我想在用戶輸入的兩個特定日期之間的數據庫中查找日期。喜歡的東西:比較SQL中的日期返回錯誤的記錄
選擇日期FROM表WHERE日期> = dateFrom和日期< = dateTO
我下面的表格有:
我犯了一個錯誤保存日期爲VARCHAR現在我必須做所有的str_to_date和date_format,因爲我使用的是phpMyAdmin。我不知怎麼搞的,但我使用此查詢面臨這個奇怪的問題:
SELECT date_format(str_to_date(data,'%d/%m/%Y'),'%d/%m/%Y') AS data FROM montaggio WHERE data>=date_format(str_to_date('29/08/2014','%d/%m/%Y'),'%d/%m/%Y')
查詢將返回我只有日期19/08/2014
這裏,我希望它返回01/09/2014
。另一方面,如果它輸入查詢
SELECT date_format(str_to_date(data,'%d/%m/%Y'),'%d/%m/%Y') AS data FROM montaggio WHERE data>=date_format(str_to_date('29/08/2014','%d/%m/%Y'),'%d/%m/%Y') AND data<=date_format(str_to_date('05/09/2014','%d/%m/%Y'),'%d/%m/%Y')
該查詢不會返回任何內容。
我正在使用phpMyAdmin。 我在這裏失蹤了什麼?任何幫助,將不勝感激!
[使用BETWEEN調用數據時獲取額外的數據]可能的重複(http://stackoverflow.com/questions/25678714/getting-extra-data-while-calling-data-using-between-for-date ) – Murtaza 2014-09-05 10:52:56
PLease在這裏看到我的答案,如果你想解決SQL - http://stackoverflow.com/questions/25678714/getting-extra-data-while-calling-data-using-between-for-date/25679235#25679235 – Murtaza 2014-09-05 10:53:12
這就是我們將日期存儲爲日期的原因。你真的需要修改你的表格定義,然後你就不會有這個問題。 – gvee 2014-09-05 10:53:14