背景
在测试过程中,一些基础的SQL查询可能需要加上一些查询条件,这次遇到了一个时间查询,但时间格式并不是:“年-月-日 小时:分:秒”这样的格式,而是时间戳的格式,找寻了一些资料,加上我们开发同学的指导,成功搜索出预期想要的数据,现将MySQL 中的**UNIX_TIMESTAMP()**使用总结在此~
UNIX_TIMESTAMP
1、查询出 时间:2020-12-22 00:00:00 转时间戳 (秒级)
-- 查询出 时间:2020-12-22 00:00:00 转时间戳 (秒级)
SELECT UNIX_TIMESTAMP('2020-12-22 00:00:00')
2、查询出 时间:2020-12-22 00:00:00 转时间戳 (毫秒级)
-- 查询出 时间:2020-12-22 00:00:00 转时间戳 (毫秒级)
SELECT UNIX_TIMESTAMP('2020-12-22 00:00:00')*1000
3、-查询出 create_time 时间在今天(2020-12-22 - 2020-12-23)的数据
-- 查询出 create_time时间在今天(2020-12-22 - 2020-12-23)的数据
SELECT * FROM def_user_event_log e WHERE
e.create_time >=UNIX_TIMESTAMP('2020-12-22 00:00:00')*1000
AND e.create_time <=UNIX_TIMESTAMP('2020-12-23 00:00:00')*1000
4、查询指定字段中包含某个时间戳(毫秒级)
-- 查询出 指定字段中包含某个时间戳
SELECT * FROM def_request_log req WHERE
req.request_query_param
LIKE CONCAT('%',(UNIX_TIMESTAMP('2020-12-21 00:00:00')*1000),'%')