sql小技巧
日期区间和格式化操作
根据不同的日期要求取得数据
主要是对聚合函数 DATEADD()、DATESUB() 和关键字 interval的使用
筛选指定时间半年
思路: 其实就是用当前时间减去五个月
SELECT date,user_id FROM TABLENAME
WHERE
from_unixtime(timestamp / 1000) >= DATE_SUB(CURDATE(), interval 5 month)
筛选指定时间往前 n 天
思路: 依旧是对时间的计算上做手脚 ,但是要记得控制左右边界 不然会出现查询数据缺失和混乱问题 如
from_unixtime({指定时间} / 1000)+INTERVAL 1 DAY - INTERVAL 1 SECOND
如果直接使用当前时间 获取的时候是 23-9-27 00:00:00 这个时候当前就不算在范围内了,我们需要利用 INTERVAL 1 DAY - INTERVAL 1 SECOND 取到 23-9-27 23:59:59
保证数据正常显示
SELECT date,user_id FROM TABLENAME
WHERE
from_uni

本文详细介绍了如何在SQL中使用DATEADD,DATESUB,interval等函数进行日期区间筛选,包括半年、n天前、本周首日以及按小时段的数据提取,提供了解决时间相关查询问题的方法。
最低0.47元/天 解锁文章
1083

被折叠的 条评论
为什么被折叠?



