Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要使用Mysql仅显示月份为“10”的日期吗_Mysql - Fatal编程技术网

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

要使用Mysql仅显示月份为“10”的日期吗,mysql,Mysql,表中有一列名为date。在此列中,存储了不同月份的一些日期。我只想显示月份为“10”的日期。如何使用mysql的子字符串函数编写查询以打印所需的输出?还有其他解决办法吗 O/p:此列中的前8条记录。使用日期格式,然后使用日期格式日期,“%m”可以单独获取月份值 SELECT * FROM tbl WHERE DATE_FORMAT(date, '%m') = '10' 从monthdate=10的_表中选择* MySQL有很多处理日期的选项。在这种情况下,将函数与相结合将是最容易的;MONTH

表中有一列名为date。在此列中,存储了不同月份的一些日期。我只想显示月份为“10”的日期。如何使用mysql的子字符串函数编写查询以打印所需的输出?还有其他解决办法吗

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

使用日期格式,然后使用日期格式日期,“%m”可以单独获取月份值

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

从monthdate=10的_表中选择*

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

SELECT `date` FROM table_name
    WHERE MONTH(`date`) = '10'
    ORDER BY `date`   -- without this, the a random 8 would be delivered
    LIMIT 8
您的查询将变成:

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

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

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

感谢您的回答,但得到的是空表项。@Rohit我没有考虑到MySQL不理解您使用的日期格式。请查看我编辑的查询。@JoryGeerts您可以删除限制8,此列的前8条记录不是限制,而是解释。@Rohit真的吗?我能看到结果吗?@NewbeeDev为什么要使用限制8?OP说只有前8个字母应该打印出来,因为这是通过测试的字母。这不是一个限制,而是一个应该发生什么的解释。是的,尼克,你是对的,我已经无限度地尝试了newbee提供的查询。。thnx对于helpthnx对于helpthnx对于help,请添加代码说明,说明为什么它是最佳答案。另外,请适当设置代码格式。@QuintinBalsdon谢谢您的建议。我很抱歉。。。我会尽我所能去评论。。。下一次