已解决
hive sql,年月日 时分秒格式的数据,以15分钟为时间段,找出每一条数据所在时间段的上下界限时间值(15分钟分区)
来自网友在路上 163863提问 提问时间:2023-10-27 14:04:22阅读次数: 63
最佳答案 问答题库638位专家为你答疑解惑
-
获取当前的年月日 时分秒
select date_format(current_timestamp(), 'yyyy-MM-dd HH:mm:ss')
date_format(时间字段, ‘yyyy-MM-dd HH:mm:ss’) 将时间字段转为 2023-10-18 18:14:16 这种格式
-
在指定时间上增加15分钟
select from_unixtime(unix_timestamp(current_timestamp(),'yyyy-MM-dd HH:mm:ss') + (15 * 60) , 'yyyy-MM-dd HH:mm:ss')
- unix_timestamp:获取当前时间的UNIX时间戳(从 1970-01-01 00:00:00 UTC 到指定时间的秒数),然后加上 15*60 秒,即15分钟,就得到了15分钟后的时间戳
- from_unixtime:将UNIX时间戳转换回当前时区的的时间格式,这里时间格式设置为yyyy-MM-dd HH:mm:ss
-
时间字段按照15分钟进行分区
我在hive里面有一张表,时间字段为data_time,里面存储的值格式为 2023-10-17 10:32:45
业务需求是15分钟为一个区间,我现在要找到这条数据所在的区间,就比如上面这条数据所在的区间为
2023-10-17 10:30:00
2023-10-17 10:45:00
在hive sql里面的写法为
SELECT '2023-10-17 10:32:45',concat(substring('2023-10-17 10:32:45',1,14),cast(minute('2023-10-17 10:32:45')/15 as int)*15,':00'),from_unixtime(unix_timestamp(concat(substring('2023-10-17 10:32:45',1,14),cast(minute('2023-10-17 10:32:45')/15 as int)*15,':00')) + (15 * 60), 'yyyy-MM-dd HH:mm:ss')
使用时,将’2023-10-17 10:32:45’ 替换为你的时间字段,比如data_time即可,上面的sql语句可以直接执行查看结果,用作测试
查看全文
99%的人还看了
相似问题
- 时态图根据时间轴动态播放热力图
- 微信小程序发货信息录入接口 错误上传时间非法,请按照 RFC 3339 格式填写?
- 时间序列预测实战(十七)PyTorch实现LSTM-GRU模型长期预测并可视化结果(附代码+数据集+详细讲解)
- 设置指定时间之前的时间不可选
- C#关于TimeSpan结构的使用和获取两个时间差
- c++ 获取当前时间(精确至秒、毫秒和微妙)
- ChatGpt3.5已经应用了一段时间,分享一些自己的使用心得.
- java 统计代码运行时间
- 个人博客添加访问人数以及访问时间-githubpage
- 多维时序 | MATLAB实现PSO-BiGRU-Attention粒子群优化双向门控循环单元融合注意力机制的多变量时间序列预测
猜你感兴趣
版权申明
本文"hive sql,年月日 时分秒格式的数据,以15分钟为时间段,找出每一条数据所在时间段的上下界限时间值(15分钟分区)":http://eshow365.cn/6-26078-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!