日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hive获取月份_【Hive】Hive中常用日期函数整理

發布時間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hive获取月份_【Hive】Hive中常用日期函数整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

? ? ?使用hive進行時間處理的過程中,有時忘記一些常用的函數用法,現整理一下hive中常用日期函數,當做備忘錄使用,忘記來翻閱一下。

1 時間戳轉化日期函數

? ? 時間戳必須是10位,默認情況下轉化為'yyyy-MM-dd HH:mm:ss'格式日期,若需要轉化其他格式日期,需要說明轉化日期格式。

select from_unixtime('1566390082'), from_unixtime('1566390082', 'yyyy-MM-dd'), from_unixtime('1566390082', 'yyyyMMdd')2019-08-21?20:21:22??2019-08-21??20190821

2 日期轉化為時間戳函數

? ? ??默認情況下要求日期格式為'yyyy-MM-dd HH:mm:ss',其他格式日期需要說明日期格式,不然結果為NULL

select?unix_timestamp('2019-08-21?20:21:22'),??---日期格式為默認格式unix_timestamp('2019-08-21'),?---日期格式不滿足'yyyy-MM-dd HH:mm:ss',沒有指定日期格式,出錯unix_timestamp('2019-08-21',?'yyyy-MM-dd')1566390082??NULL??1566316800

3 日期格式化函數

? ? date_format函數將字符串或者日期轉化為指定格式的日期, to_date函數直接將長日期轉化為短日期

select date_format('2019-08-21 20:21:22', 'yyyy-MM-dd'), date_format('2019-08-21?20:21:22',?'yyyyMMdd')2019-08-21??20190821select to_date('2019-08-21 20:21:22'), to_date('2019-08-21?20:21')2019-08-21??2019-08-21

4 獲取年、月、日、天、小時、分鐘、秒、周數、星期幾、季節函數

select year('2019-08-21 20:21:22'), --年month('2019-08-21 20:21:22'),--月day('2019-08-21 20:21:22'),--日hour('2019-08-21 20:21:22'),--小時minute('2019-08-21 20:21:22'),--分鐘second('2019-08-21 20:21:22'),--秒weekofyear('2019-08-21 20:21:22'),--第幾周dayofweek('2019-08-21 20:21:22'),--星期幾ceil(month('2019-08-21 20:21:22')/3)--季節2019??8??21??20??21??22??34??4??3

5?日期(月份)增減函數

? ? 日期往后推幾天,使用date_add函數,日期往前推幾天,使用date_sub函數;

? ? 月份往后推幾個月,使用add_months函數,參數為正數;月份往前推幾個月,參數為負數;

select date_add('2019-08-21',10), date_sub('2019-08-21',10), add_months('2019-08-21',1), add_months('2019-08-21',2), add_months('2019-08-21',-1), add_months('2019-08-21',-2)2019-08-31 2019-08-11 2019-09-21 2019-10-21 2019-07-21 2019-06-21

6 兩個日期(月份)相減函數

? ? 日期相減使用date_diff函數,返回相差天數,月份相減使用months_between,返回相差月份,不足月為小數

select datediff('2019-08-23', '2019-08-21'), months_between('2019-08-21', '2019-07-25')2??0.87096774

若計算兩個之間相差的小時數,可以使用:

select?hour('2019-08-23?10:11:12')-hour('2019-08-21?12:20:20')?+?(datediff('2019-08-23?10:11:12','2019-08-21?12:20:20'))*2446

7 獲取月初(月末)、年初(年末)日期

? ? 獲取月末日期使用last_day函數,獲取月初日期使用trunc(,'MM')函數;獲取年初日期使用trunc(,‘YY’)函數,使用date_sub(add_months(trunc('', 'YY'),12),1)獲取年末日期

select last_day('2019-08-12'), --月末trunc('2019-08-21', 'MM'), --月初trunc('2019-08-21', 'YY'), --年初date_sub(add_months(trunc('2019-08-21', 'YY'),12),1) --年末2019-08-31 2019-08-01 2019-01-01 2019-12-31

8 獲取日期的下個星期幾的日期

? ? 使用函數next_day獲取日期下個星期幾的日期,參數周一:MO;周二:TU;周三:WE ;周四:TH ;周五:FR ;周六:SA;周日SU

select next_day('2019-08-21',?'MO'),?next_day('2019-08-21', 'TU'),next_day('2019-08-21', 'WE'),next_day('2019-08-21', 'TH'),next_day('2019-08-21', 'FR'),next_day('2019-08-21', 'SA'),next_day('2019-08-21', 'SU')2019-08-26 2019-08-27 2019-08-28 2019-08-22 2019-08-23 2019-08-24 2019-08-25 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的hive获取月份_【Hive】Hive中常用日期函数整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。