0


hive获取月初1号以及次月1号

1.hive获取(本月)月初1号,为时间戳:hive sql如下:

select unix_timestamp(date_add(date_sub(from_unixtime(unix_timestamp()),dayofmonth(from_unixtime(unix_timestamp()))),1),'yyyy-MM') from dual;

把时间戳转换为时间格式:

select from_unixtime(1704038400) from dual;

2.返回下月1号:为时间戳;当前时间为2023年12月

select unix_timestamp(date_add(date_sub(from_unixtime(unix_timestamp()),dayofmonth(from_unixtime(unix_timestamp()))),32),'yyyy-MM') from dual;

--转换为时间:2024-01-01 00:00:00

select from_unixtime(1704038400) from dual;

--1.剖析:获取系统时间的时间戳

select unix_timestamp() from dual;

--2.把系统时间戳转换为时间格式

select from_unixtime(unix_timestamp()) from dual;

--3.返回系统时间的第几天

select dayofmonth(from_unixtime(unix_timestamp())) from dual;

--4.系统时间减去系统天数--即上月的最后一天:是否要加unix_timestamp还不确定

unix_timestamp(date_sub(from_unixtime(unix_timestamp()),dayofmonth(from_unixtime(unix_timestamp()))));

--2023-12-31

select date_sub(from_unixtime(unix_timestamp()),dayofmonth(from_unixtime(unix_timestamp()))) from dual;

--把系统时间减去目前天数的日期转换为时间戳格式。如系统时间:2024123,即为2024123-23=20231231

select unix_timestamp(date_sub(from_unixtime(unix_timestamp()),dayofmonth(from_unixtime(unix_timestamp()))),'yyyy-MM-DD') from dual;


本文转载自: https://blog.csdn.net/qq_45941597/article/details/137005024
版权归原作者 啦啦啦~~~~~ 所有, 如有侵权,请联系我们删除。

“hive获取月初1号以及次月1号”的评论:

还没有评论