SQL 、MySql 查询前几年、几天、几小时的数据

SQL语句查询最近几年和几月的数据

select DateAdd(Month,-3,getdate()) –返回一个时间,根据这个时间点去查询想要的数据即可

–DateAdd函数的详细说明:

–DateAdd(interval, number, date)

–interval 必选。字符串表达式,表示要添加的时间间隔。

–yyyy 年

–q 季度

–m 月

–y 一年的日数

–d 日

–w 一周的日数

–ww 周

–h 小时

–n 分钟

–s 秒

–number 必选,数值表达式。

–表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。

–date 必选。标识查询时的对比时间,getdate()在SQL中说明是现在的时间 。

–例子:

Select DateAdd(Month,-3,getdate()) –以当前时间为准,返回三个月之前的一个时间点

Select DateAdd(yyyy,-3,getdate()) –以当前时间为准,返回三年之前的一个时间点

Select DateAdd(Month,3,getdate()) –以当前时间为准,返回三个月之后的一个时间点

MySql:
mysql 昨天 一周前 一月前 一年前的数据 这里主要用到了DATE_SUB,

参考如下

复制代码 代码如下:

SELECT * FROM yh_content
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 DAY)
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 WEEK)
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
注意:如果数据库中时间以UNIX时间戳的形式存放的话,在时间对比上需要更改为统一格式:

DATE_SUB()返回的是格式化后的时间:2014-05-17

需要用UNIX_TIMESTAMP()转化为UNIX时间戳形式对比:

复制代码 代码如下:

where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY))
where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 WEEK))
where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
where inputtime>UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))
详细请查看MySql时间函数:DATE_SUB、DATE_ADD、UNIX_TIMESTAMP等函数的用法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值