簡體   English   中英

比較sql Phpmyadmin中的日期

[英]Comparing dates in sql Phpmyadmin

我試圖在mysql中運行一個查詢來從一個表中選擇該記錄的“end_date”大於或等於當前日期的所有記錄,但它不斷出現“MySQL返回一個空結果集”。 但這樣的記錄肯定存在於我的表中,我的查詢有問題嗎?

這是一條記錄“03/24/2014”的end_date列中的值。

這是我的疑問

SELECT * FROM ******** WHERE DATE(end_date) > DATE(CURDATE())

我懷疑它可能是日期格式,這意味着我的計算機上的日期格式可能是這樣的:dd / MM / yyyy而服務器上的日期格式可能是這樣的:MM / dd / yyyy

不幸的是,如果是這樣的話,我不知道該怎么做。

正如@FreshPrinceOfSO評論中所述,最好將日期存儲為真正的DATE,TIMESTAMP或DATETIME。

如果這不是一個選項 - 例如,不是你的數據庫改變 - 那么Mysql有一個你可以使用的STR_TO_DATE()函數:

      SELECT * FROM ******** 
          WHERE STR_TO_DATE(end_date,'%m/%d/%Y')  > CURDATE();   

但是如果end_date列有一個索引,那么應用它的函數將使索引權益無效。

暫無
暫無

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

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