HIVE 各種時間格式處理

2022-08-13 22:54:13 字數 1779 閱讀 2976

方法一:date_format(只支援yyyy-mm-dd -> yyyymmdd000000)

select date_format('

2019-10-07

', '

yyyymmdd000000')

--20191007000000

方法二:from_unixtime + unix_timestamp

select from_unixtime(unix_timestamp('

2019-10-07

', '

yyyy-mm-dd

'), '

yyyymmdd000000')

--20191007000000

select from_unixtime(unix_timestamp(substr('

20191007000000

',1,8),'

yyyymmdd

'),'

yyyy-mm-dd')

--2019-10-07

方法三:substr + concat

select concat(substr('

2019-10-07

',1,4),substr('

2019-10-07

',6,2),substr('

2019-10-07

',9,2),'

000000')

--20191007000000

select concat(substr('

20191007000000

',1,4),'

-',substr('

20191007000000

',5,2),'

-',substr('

20191007000000

',7,2

))--

2019-10-07

unix_timestamp:格式化日期轉時間戳

select unix_timestamp('

2019-10-07 13:24:20

','yyyy-mm-dd hh:mm:ss')

--1570425860

select unix_timestamp('

20191007

','yyyymmdd')

--1570377600

from_unixtime:時間戳轉格式化日期

select from_unixtime(1570425860,'

yyyy-mm-dd hh:mm:ss')

--2019-10-07 13:24:20

select from_unixtime(1570425860,'

yyyymmdd000000')

--20191007000000

date_format:yyyy-mm-dd hh:mm:ss 時間轉格式化時間

select date_format('

2019-10-07 13:24:20

', '

yyyymmdd000000')

--20191007000000

select date_format('

2019-10-07

', '

yyyymmdd000000')

--20191007000000

mm為月份

mm為分鐘

hh為24小時制

hh為12小時制

Hive時間處理

時間戳 unix timestamp 時間戳轉日期 from unixtime 時間hive語句 上月1號 trunc add months current date 1 mm 本月1號 trunc current date mm 下月1號 trunc add months current date...

Hive時間格式轉換

原時間格式 2020 09 19 00 15 32 目標格式 20200919 首先使用hive的函式進行轉換 1.to date 2020 09 19 00 15 32 2020 09 192.regexp replace 2020 09 19 20200919結果語句 regexp replac...

列印各種時間格式

列印各種時間格式 bin bash echo 顯示星期簡稱 如 sun date aecho 顯示星期全稱 如 sunday date aecho 顯示月份簡稱 如 jan date becho 顯示月份全稱 如 january date becho 顯示數字月份 如 12 date mecho 顯...