HIVE 求解時間差 日期格式轉換

2021-10-22 13:35:04 字數 949 閱讀 5019

閱讀:

1 將時間轉換成時間戳

2 將時間戳相減

3 注意單位(分鐘、毫秒)

e.x.   cast((unix_timestamp(rt.refund_ticket_time) - unix_timestamp(rt.create_time)) / 60 as int)<=30

閱讀:

在解析埋點資料時會遇到兩種不同的日期格式:yyyymmdd和yyyy-mm-dd,此型別之間的轉換主要有兩種思路:

--20180905轉成2018-09-05

select from_unixtime(unix_timestamp('20180905','yyyymmdd'),'yyyy-mm-dd')

from dw.ceshi_data

--結果如下:

2018-09-05

--2018-09-05轉成20180905

select from_unixtime(unix_timestamp('2018-09-05','yyyy-mm-dd'),'yyyymmdd')

from dw.ceshi_data

--結果如下:

20180905

--20180905轉成2018-09-05 

select concat(substr('20180905',1,4),'-',substr('20180905',5,2),'-',substr('20180905',7,2)) from dw.ceshi_data

結果如下:

2018-09-05 

--2018-09-05轉成20180905

select concat(substr('2018-09-05',1,4),substr('2018-09-05',6,2),substr('2018-09-05',9,2)) from dw.ceshi_data

結果如下:

20180905

oracle日期轉換及時間差

oracle date與number型別間的轉換 我們在儲存時間到資料庫時,有時候會儲存long型的資料,固定長度是13位,是用當前時間減去1970 01 01,再換算成毫秒得到的結果。oracle中的實現方式 1,date轉long 當前時間轉成long select sysdate,sysdat...

oracle日期轉換及時間差

oracle date與number型別間的轉換 我們在儲存時間到資料庫時,有時候會儲存long型的資料,固定長度是13位,是用當前時間減去1970 01 01,再換算成毫秒得到的結果。oracle中的實現方式 1,date轉long 當前時間轉成long select sysdate,sysdat...

flex日期時間差

1.求兩個時間之間差了幾天 思路 取得兩個時間的毫秒數,相減後得到相差的毫秒數,根據要求得值除以對應的毫秒數。比如求相差多少天。則用相差毫秒數除以 1000 60 60 24 毫秒數 秒數 分鐘數 24小時。var startdate date datefield.stringtodate star...