簡體   English   中英

MYSQL查詢選擇列字符串日期與格式化當前日期的日期比較

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

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