想要使用Mysql仅显示月份为“10”的日期

时间:2016-11-01 08:07:46

标签: mysql

我在表格中有一列名为“日期”。在此列中,有一些日期存储在不同月份。我想只显示月份为“10”的日期。我们如何使用mysql的substring()函数编写查询来打印所需的输出?或者其他任何解决方案?

enter image description here

O / p:此列中的前8条记录。

5 个答案:

答案 0 :(得分:2)

MySQL有很多处理日期的选项。在这种情况下,将MONTH()函数与STR_TO_DATE()相结合将是最简单的; MONTH()将日期作为输入并返回月份编号,从1开始为1月,而STR_TO_DATE()将您的(非标准)日期字符串格式化为MySQL理解的日期。

您的查询将成为:

SELECT * FROM your_table WHERE MONTH(STR_TO_DATE(`date`, '%d-%m-%Y')) = 10;

答案 1 :(得分:0)

使用DATE_FORMAT然后DATE_FORMAT(date, '%m')才能获得月份值

SELECT * FROM tbl WHERE DATE_FORMAT(date, '%m') = '10'

答案 2 :(得分:0)

从your_table中选择*,其中月份(日期)= 10;

答案 3 :(得分:0)

SELECT `date` FROM table_name
    WHERE MONTH(`date`) = '10'
    ORDER BY `date`   -- without this, the a random 8 would be delivered
    LIMIT 8

答案 4 :(得分:0)

如果日期列是日期时间或时间戳,则

SELECT `date` FROM `tablename` WHERE month(`date`) =10