wordpress附件下载,兰州企业网站优化,phpstudy做网站运营的坏处,敦煌网网站推广方式1.时间戳和日期相互转换函数
具体执行结果在后面备注标注出来。主要为时间戳转换为日期函数#xff0c;和将日期转换为时间戳函数
-- 1.时间戳转化为日期函数
-- from_unixtime(bigint unixtime[, string format]) 其中第一个参数必须为bigint类型
select from_unixtime(166…1.时间戳和日期相互转换函数
具体执行结果在后面备注标注出来。主要为时间戳转换为日期函数和将日期转换为时间戳函数
-- 1.时间戳转化为日期函数
-- from_unixtime(bigint unixtime[, string format]) 其中第一个参数必须为bigint类型
select from_unixtime(1661084482) -- 2022-08-21 20:21:22
select from_unixtime(1661084482, yyyy-MM-dd) -- 2022-08-21
select from_unixtime(1661084482, yyyyMMdd) -- 20220821
select from_unixtime(1661084482,yyyy-MM-dd HH:mm:ss) -- 2022-08-21 20:21:22 -- 2.将日期转换为时间戳
select unix_timestamp(2022-08-21 20:21:22) -- 1661084482
select unix_timestamp(20220821,yyyyMMdd) -- 1661011200
select unix_timestamp(2022-08-21, yyyy-MM-dd) -- 1661011200
2.获取当前天的相关函数
获取当天时间的三种方式注意格式其中current_timestamp返回的时间为UTC时间。
-- 返回当天三种方式,格式有一定的不同
select current_date -- 2023-06-14
select current_timestamp -- 返回时分秒 2023-06-14 07:56:14.28
select from_unixtime(unix_timestamp()) -- 2023-06-14 15:56:143.日期格式化函数
日期格式化函数需要什么格式后面写什么格式的日期字符串描述to_date仅有一种格式返回结果
-- 需要什么格式后面写什么格式的日期字符串描述
select date_format(2022-08-21 20:21:22, yyyy-MM-dd) -- 2022-08-21
select date_format(2022-08-21 20:21:22, yyyyMMdd) -- 20220821
select date_format(2022-08-21, yyyy-MM-dd HH:mm:ss) -- 2022-08-21 00:00:00-- 获取时间日期的日期部分
select to_date(2022-08-21 20:21:22) -- 2022-08-214.获取年、月、日、天、小时、分钟、秒、周数、星期几、季节函数
hive提供了灵活获取年、月、日、天、小时、分钟、秒、周数、星期几、季节的函数最后面还提供了一个通过数学函数转换获取季度的逻辑可以看出其实部分函数如果版本不支持我们可以通过其他方式曲线获取。当然不提倡可读性差 5.日期和月份的加减相关函数
获取日期和月份的加减操作灵活处理日期和月份增加减少日期月份之间互相求差值。
-- 日期增加日
select date_add(2022-08-21,10) -- 增加日 2022-08-31
-- 日期减少日
select date_sub(2022-08-21,10) -- 减少日 2022-08-11
-- 月增加
select add_months(2022-08-21,2) -- 增加月 2022-10-21
-- 月减少
select add_months(2022-08-21,-1) -- 减少月 2022-07-21-- 两个日期相减函数
select datediff(2022-08-23, 2022-08-21) -- 2
-- 两个月份相减
select months_between(2022-08-21, 2022-07-25) -- 0.8716.获取一些指定特殊日期的函数
主要是获取指定日期的月初(月末)、年初(年末)日期和获取指定日期的下个星期几的日期
-- 获取指定日期的月初(月末)、年初(年末)日期
select last_day(2023-06-13) -- 月末 2023-06-30
select trunc(2023-06-13, MM) -- 月初 2023-06-01
select trunc(2023-06-13, YY) -- 年初 2023-01-01
select date_sub(add_months(trunc(2023-06-13, YY),12),1) -- 年末 2023-12-31-- 获取指定日期的下个星期几的日期
select next_day(2023-06-13, MO) -- 2023-06-19
select next_day(2023-06-13, TU) -- 2023-06-20
select next_day(2023-06-13, WE) -- 2023-06-14
select next_day(2023-06-13, TH) -- 2023-06-15
select next_day(2023-06-13, FR) -- 2023-06-16
select next_day(2023-06-13, SA) -- 2023-06-17
select next_day(2023-06-13, SU) -- 2023-06-187.时区转换函数操作
时区转换函数有很多需要注意的点其也可以联合使用简单说一下时区UTC是世界标准时间。
东一区 GMT1东八区GMT8以此类推西一区GMT-1西七区GMT-7以此类推。
时间戳没有时区属性同一时刻时间戳一致。
-- 将utc时间转换为东八区时间。输入为utc时间字符串结果为东八区时间字符串
select from_utc_timestamp(2023-06-14 15:56:14,GMT8) -- 2023-06-14 23:56:14-- 将utc时间戳转换为东八区时间输入为utc时间戳结果为东八区时间字符串时间戳没有时区属性同一时刻时间戳一致
select from_utc_timestamp(cast(1686729374000 as bigint),GMT8) -- 2023-06-14 15:56:14
-- 将指定时区时间转换成utc时间
select to_utc_timestamp(2023-06-14 15:56:14,GMT8) -- 2023-06-14 07:56:14
-- 将指定时区时间的时间戳转换成utc时间这种使用方式不常见是错误的只是在某些时刻进行数据转换用,不建议使用
select to_utc_timestamp(cast(1686729374000 as bigint),GMT8) -- 2023-06-13 23:56:14
-- 正确的转换时间戳为utc时间的方式
select to_utc_timestamp(cast(1686729374000 as bigint),UTC)详情https://www.cnblogs.com/lubians/p/17480959.html