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