簡體   English   中英

從當月選擇記錄

[英]Select records from current month

我有一個名為slldatevarchar字段的表。 此字段包含以下格式的日期:
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.

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