[英]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.