![](/img/trans.png)
[英]to select all records from the last month but restricted records in the current month
[英]Select records from current month
我有一個名為slldate的varchar字段的表。 此字段包含以下格式的日期:
2010-08-30
(YYYY-MM-DD)
現在我想使用mysql查詢選擇包含當前月份的記錄。
任何人?
當您使用char字段而不是日期字段時,必須轉換值,然后使用普通日期函數。 喜歡
SELECT * FROM table WHERE MONTH(CAST(slidate as date)) = MONTH(NOW()) AND YEAR(CAST(slidate as date)) = YEAR(NOW())
嘗試這個:
SELECT * FROM table_name WHERE MONTH(slldate)= date('m')AND YEAR(slldate)= date('Y');
SELECT * FROM table_name WHERE YEAR( savedate
)= YEAR(CURDATE())AND MONTH( savedate
)= MONTH(CURDATE())
我有一個名為slldate的varchar字段的表。 該字段包含日期
然后你應該將它改為日期字段。 你(應該)知道這是正確的做法。
下面的方法將適用於您的varchar字符串 - 但可以在某些日期進行簡化。
請注意,由於您的日期字符串已經是big-endian,因此您無需強制轉換它們並放棄索引optinmisation的好處:
SELECT *
FROM yourtable
WHERE slldate >= CONCAT(DATE_FORMAT('%Y-%m-', NOW()),'01')
AND slldate < CONCAT(DATE_FORMAT('%Y-%m-', NOW() + INTERVAL 1 MONTH), '01')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.