SparkSQL中的一些函数
1时间相关的函数:
1.1地区相关的函数
以北京时间东八区(UTC+8)为例,需要将UTC时间转换成北京时间,可以使用以下两个函数
1 2 3 | to_utc_timestamp( timestamp , timezone) --将timestamp转换成UTC时间 from_utc_timestamp( timestamp , timezone) --UTC时间转换成timezone时间 |
select from_utc_timestamp(current_timestamp(), 'GMT')
结果
2022-04-29 15:03:29.969
select from_utc_timestamp("2022-04-29T15:03:29.969Z", 'GMT')
结果
2022-04-29 23:03:29.969
2.计算每一周的 周开始 和 周结束 时间
NEXT_DAY(date,char)
date参数为日期型, char:为1~7或Monday/Mon~Sunday/
示例说明:
计算2022-01-05这天所在周的周开始时间:
1 | select date_sub(next_day( '2022-01-05' , 'monday' ),7) |
2022-01-03
计算2022-01-05这天所在周的周结束时间:
1 2 3 | select case when day_of_week( '2022-01-05' ) = 7 then '2022-01-05' else next_day( '2022-01-05' , 'sunday' ) end |
结果是这天所在周的周结束时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧