簡體   English   中英

MySQL dateformat%c不返回結果?

[英]MySQL dateformat %c does not return results?

為什么MySQL dateformat函數無法在查詢中獲取一個月的行?

SELECT p.*  
FROM article AS p
WHERE p.parent_id = '6' 
AND DATE_FORMAT(p.backdated_on, '%Y %c') = '2015 8'  
GROUP BY p.article_id  
ORDER BY p.backdated_on DESC  
LIMIT 0, 6 

我有一排與backdated_on2015-11-08 19:10:04

任何想法為什么以及如何解決這個問題?

月份為“ 2015 11”:

mysql> select DATE_FORMAT('2015-11-08 19:10:04', '%Y %c');
+---------------------------------------------+
| DATE_FORMAT('2015-11-08 19:10:04', '%Y %c') |
+---------------------------------------------+
| 2015 11                                     |
+---------------------------------------------+
1 row in set (0.00 sec)

'2015 8'是匹配日期,例如2015-08-dd ...

如果日期為2015-11-08 19:10:04 ,則相應的邏輯為:

DATE_FORMAT(p.backdated_on, '%Y %c') = '2015 11'  

但是,使用字符串函數比較日期是個壞習慣。 代替:

(p.backdated_on >= '2015-11-01' and p.backdated_on < '2015-12-01')

暫無
暫無

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

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