亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Hive日期格式轉(zhuǎn)換方法總結(jié)

 更新時(shí)間:2022年06月23日 11:56:39   作者:數(shù)據(jù)人阿多  
這篇文章主要為大家介紹了Hive日期格式轉(zhuǎn)換方法總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

背景

日期計(jì)算平時(shí)在業(yè)務(wù)取數(shù)時(shí)經(jīng)常涉及到,但是數(shù)據(jù)庫(kù)中經(jīng)常存放著不同的日期格式,有的存放是時(shí)間戳、有的是字符串等,這時(shí)需要對(duì)其進(jìn)行轉(zhuǎn)換才能提取到準(zhǔn)確的數(shù)據(jù),這里介紹的均是hive里面的函數(shù)功能,以下內(nèi)容均是業(yè)務(wù)的數(shù)據(jù)需求經(jīng)常使用的部分

時(shí)間戳

unix時(shí)間戳是從1970年1月1日(UTC/GMT的午夜)開(kāi)始所經(jīng)過(guò)的秒數(shù),不考慮閏秒,一般為10位的整數(shù)

一個(gè)在線(xiàn)工具:http://tools.jb51.net/code/unixtime

時(shí)間戳

字符串日期如:'2021-10-21 19:25:50','2021-10-21 20:25:50.0','2021-10-21 20:25'

日期格式轉(zhuǎn)換

時(shí)間戳--->正常的日期格式

  • 獲取當(dāng)前時(shí)間戳
select unix_timestamp()
  • 把時(shí)間戳轉(zhuǎn)為正常的日期
select from_unixtime(unix_timestamp(),'yyyy-MM-dd hh:mm:ss') as dt
  • 業(yè)務(wù)中有時(shí)存放的是包含毫秒的整數(shù),需要先轉(zhuǎn)換為秒
select from_unixtime(cast(create_time/1000 as bigint),'yyyyMMdd') as dt

字符串日期假如數(shù)據(jù)庫(kù)存放的是格式為:"yyyy-MM-dd hh:mm:ss"

  • 截取日期部分
select substr('2021-10-22 17:34:56',1,10)
2021-10-22
  • 字符串強(qiáng)制轉(zhuǎn)換,獲取日期
select to_date('2021-10-22 17:34:56')
2021-10-22
  • 也可以通過(guò)date_format實(shí)現(xiàn)
select date_format('2021-10-22 17:34:56','yyyy-MM-dd')
2021-10-22

系統(tǒng)當(dāng)前日期

  • 當(dāng)前日期
select current_date();
2021-10-22
  • 字符串日期與系統(tǒng)當(dāng)前日期比較,這個(gè)在業(yè)務(wù)中經(jīng)常有用到
select substr('2021-10-22 17:34:56',1,10)>current_date()
false

前一日/昨日

select date_sub(current_date(),1);
2021-10-21

前一日12點(diǎn)/昨日12點(diǎn)在業(yè)務(wù)中與截取的字符串日期進(jìn)行比較時(shí)用

select concat(date_format(date_sub(current_date(),1),'yyyy-MM-dd'),' ','12');
2021-10-21 12

最近一個(gè)月/30天

select date_sub(current_date(),30);
2021-09-22

當(dāng)月第一天業(yè)務(wù)中經(jīng)常用在滾動(dòng)計(jì)算當(dāng)月每日的業(yè)績(jī)數(shù)據(jù)

select date_format(to_date(trunc(current_date(),'MM')),"yyyy-MM-dd");
2021-10-01

日期格式轉(zhuǎn)換 yyyyMMdd--->yyyy-MM-dd

select from_unixtime(unix_timestamp('20211022','yyyyMMdd'),"yyyy-MM-dd");
2021-10-22

兩個(gè)日期相隔天數(shù)

select datediff('2021-10-22', '2021-10-01');
21

相關(guān)參考

Hive HQL支持的2種查詢(xún)語(yǔ)句風(fēng)格,你喜歡哪一種?

Python 基于datetime庫(kù)的日期時(shí)間數(shù)據(jù)處理

以上就是Hive日期格式轉(zhuǎn)換方法總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Hive日期格式轉(zhuǎn)換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論