mysql 选择时间段_mysql – 在数据库中选择日期范围(月/年)

我有一个关于在MySQL中选择日期范围的快速问题,格式如YYYY-MM-DD

我读了MySQL select date range issue并了解它的基本用法,但我怎么能“包括”2月29日?我想避免使用PHP解决方法,MySQL中有类似的东西吗?

有人能给我一个例子,如何选择二月份的去年数据?

解决方法:

在您指定一个月的那一刻,MYSQL引擎足够聪明,可以获得一个月的正确天数(无论是否是闰年)并相应地评估您的日期字段.

要在您选择的两个日期之间获取数据:(使用间隔1年从今天起一年后)

SELECT * FROM yourtable

WHERE yourdate BETWEEN DATE_ADD(Now(), Interval -1 YEAR)

AND Now()

AND MONTH(yourdate) = 2 -- to get data for Month of February

;

或者你可以简单地用YEAR函数编写而不用BETWEEN

SELECT * FROM yourtable

WHERE YEAR(yourdate) = YEAR(Now()) - 1

AND MONTH(yourdate) = 2 -- to get data for Month of February

;

对于Str_to_Date上的问题,该函数用于将包含日期的字符串转换为具有所需格式的日期类型,并且它与DATE_FORMAT函数相反.

SELECT STR_TO_DATE('12-Apr-2012', '%d-%M-%Y')

FROM DUAL

;

请注意,在上面的演示中,您必须以添加到STR_TO_DATE函数中的格式指定日,月,年排列.

PS:你真正想要在这里实现的是相当模糊的,没有同样的数据和问题中显示的预期结果..

标签:mysql

来源: https://codeday.me/bug/20190723/1510664.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值