[英]MYSQL query select column string date compared to date formatted current date
這是我嘗試在SQL phpMyAdmin中運行的查詢以檢索2行數據:
SELECT * FROM table WHERE STR_TO_DATE(theDate, '%a, %b %e') = DATE_FORMAT(curdate(), '%a, %b %e')
我沒有錯誤,也沒有結果。 對於今天的日期,Date列中的字符串格式如下:
Tue, Jan 20
轉換比較中我做錯了什么?
您的日期格式缺少一年,這會使日期比較變得復雜。 最好的解決方案可能是將當前日期轉換為字符串:
WHERE thedate = DATE_FORMAT(curdate(), '%a, %b %c')
您應該對這些列使用本地日期/時間格式,而不是字符串。
STR_TO_DATE()
從字符串創建日期,而CURDATE()
直接返回日期。
這應該工作:
WHERE STR_TO_DATE(theDate, '%a, %b %c') = curdate()
STR_TO_DATE(theDate, '%a, %b %c')
將日期行字符串日期轉換為Ymd
格式
你正在嘗試比較查詢
`%Y-%m-%d` = '%a, %b %c'
如果要比較其他格式的日期,請嘗試此查詢
如果theDate
日期專賣店格式Tue, Jan 20
SELECT * FROM table WHERE
theDate =
DATE_FORMAT(curdate(), '%a, %b %c')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.