mysql比较时间大小_Mysql日期类型大小比较---拉取给定时间段的记录

我们知道,mysql里边,日期类型有很多表现形式,date, datetime,timestamp等类型。考虑这样一种场景:

按时间段拉取给定时间段的内容,这时,我们就得使用日期类型的比较了。

表结构:tablename_tbl

+-----------------+--------------+------+-----+-------------------+----------------+

| Field    |   Type |   Null |   Key |   Default |   Extra |

+-----------------+--------------+------+-----+-------------------+----------------+

| id    |   mediumint(8)   | NO    | PRI   | NULL    |   auto_increment |

| title    | varchar(40)    | NO    |    | NULL |    |

| content  | mediumtext    | NO    |    | NULL |    |

| addtime  | timestamp    | NO |    |   CURRENT_TIMESTAMP |    |

其中addtime为timestamp类型的,现在我们要拉去过去三小时内新增的记录,我们可以采取比较unix时间戳以及比较日期这两种方式实现;

首先看第一种:unix时间戳比较

Mysql内置函数:UNIX_TIMESTAMP()

若无参数调用,则默认返回一个 从 '1970-01-01 00:00:00' 到当前时刻的秒数(无符号整数)。若用date 来调用 unix_timestamp(),它会返回从 '1970-01-01 00:00:00' 到 date表示的时刻为止的秒数;date 可以是一个 date 字符串、一个 datetime字符串、一个 timestamp或一个当地时间的yymmdd 或yyymmdd格式的数字。

则sql语句可以这样写:

select id,title,content,addtime from tablename_tbl where UNIX_TIMESTAMP(addtime)>= UNIX_TIMESTAMP() - 10800 and UNIX_TIMESTAMP(addtime) <= UNIX_TIMESTAMP()   //108

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值