面對一個奇怪的問題。我已經在我的數據庫中存儲了一個到期日期Varchar(由於日曆插件)。我現在必須檢查表中過期的項目。 所以我寫了這個SQL,首先將varchar(string)轉換爲日期格式,然後與當前時間進行比較。在MYSQL中比較不同數據類型的日期
SELECT date_format(str_to_date(discountEndDT,'%m/%d/%Y'), '%m/%d/%Y') as dateSale
FROM tbl_salestemplate where date_format(str_to_date(discountEndDT,'%m/%d/%Y'),'%m/%d/%Y')>DATE_FORMAT(NOW(),'%m/%d/%Y')
現在,這給了我結果,但只爲到期日期這些都是直到今年2013.The日期我有有效期在2014年,即使他們比今天更大的日期不會返回。
不知道我在做什麼錯。如果我運行獨立查詢來獲取所有到期日期,我會得到所有日期,包括預期的m/d/y
格式的2014年到期年份。 的獨立查詢:
SELECT *FROM tbl_salestemplate Wheredate_format(str_to_date(discountEndDT,'%m/%d/%Y'), '%m/%d/%Y')
我在哪裏其實走錯了能有一個人正確的?
謝謝。
嘗試CURDATE()而不是現在或DATE(NOW()) – Mihai