mysql 从日期格式中提取月份

mysql extract month from date format

我的数据值如下

          date_time
        ----------------        
        24:Sep:2016 22:19:35
        22:Oct:2016 22:19:35
        26:Sep:2016 22:19:35
        28:Sep:2016 22:19:35

我在这里使用查询来检查按月份匹配的数据,如下所示。

SELECT * FROM `audit_log` WHERE MONTH(STR_TO_DATE(date_time, '%d:%M:%Y %H:%i:%s')) ='Oct'

但这对我不起作用。但是如果我使用那个有效的一年

SELECT * FROM `audit_log` WHERE YEAR(STR_TO_DATE(date_time, '%d:%M:%Y %H:%i:%s')) ='2016'

我得到了答案。 我使用长格式月份进行搜索,并在查询中使用 MONTHNAME

SELECT * FROM `audit_log` WHERE MONTHNAME(STR_TO_DATE(date_time, '%d:%M:%Y %H:%i:%s')) ='October'

在不同的过程中我可以使用 MONTH 尽管它是 return 数字。我必须使用月份编号来搜索查询。喜欢bwlow

SELECT * FROM `audit_log` WHERE MONTH(STR_TO_DATE(date_time, '%d:%M:%Y %H:%i:%s')) ='10'