一、從hive日期格式轉換返回增加月份
Hive提供了多種日期格式轉換函數,其中有一個非常有用的函數是date_add(string start_date, int days),該函數將一個日期字元串和一個整數相加,返回新的日期字元串。通過使用這個函數,我們可以非常方便地將日期往後推進一定天數或月數。
SELECT date_add('2022-01-01', 1) as tomorrow;
這個查詢將返回”2022-01-02″
SELECT date_add('2022-01-01', 31) as next_month;
這個查詢將返回”2022-02-01″
二、hive日期格式轉換yyyymmdd
在Hive中,我們可以使用date_format(date, format)函數將日期格式化成各種字元串格式。例如,我們可以使用YYYY/MM/DD格式的date_format函數進行日期格式轉換:
SELECT date_format('2022-07-01', 'yyyyMMdd') as yyyymmdd;
這個查詢將返回”20220701″
三、hive日期格式轉換函數
在Hive中,還提供了許多其他的日期格式轉換函數:
- day(date):獲取日期的日份。
- month(date):獲取日期的月份。
- year(date):獲取日期的年份。
- quarter(date):獲取日期所在季度。
- dayofmonth(date):獲取日期的日份,與day(date)相同。
- dayofyear(date):獲取日期在一年中的天數。
- weekofyear(date):獲取日期所在的周數。
SELECT day('2022-07-01') as day_of_month, month('2022-07-01') as month_of_year, year('2022-07-01') as year, quarter('2022-07-01') as quarter, dayofyear('2022-07-01') as day_of_year, weekofyear('2022-07-01') as week_of_year;
這個查詢將返回:
day_of_month | month_of_year | year | quarter | day_of_year | week_of_year |
---|---|---|---|---|---|
1 | 7 | 2022 | 3 | 182 | 26 |
四、hive日期轉換
在Hive中,還可以使用to_date(string dateStr)和from_unixtime(bigint unixtime, string format)函數將字元串或時間戳轉換為日期。例如,我們可以將”09-NOV-16″字元串轉換為日期:
SELECT to_date('09-NOV-16', 'dd-MMM-yy') as date;
這個查詢將返回”2016-11-09″
我們還可以使用from_unixtime函數將時間戳轉換為日期:
SELECT from_unixtime(1644086432, 'yyyy-MM-dd HH:mm:ss') as date;
這個查詢將返回”2022-02-05 09:07:12″
五、hive日期格式轉換yyyy-mm-dd
我們可以使用date_sub和date_add函數將日期格式浮動,並將其格式化為其他日期格式。例如,我們可以將”2022-07-01″的日期後退或前進一個月,並將其格式化為”yyyy-MM-dd”格式:
SELECT date_format(date_add('2022-07-01', -1 * 1), 'yyyy-MM-dd') as previous_day, date_format(date_add('2022-07-01', 1 * 1), 'yyyy-MM-dd') as next_day;
這個查詢將返回”2022-06-30″和”2022-07-02″
六、hive時間戳轉換日期格式
在Hive中,我們可以使用from_unixtime和unix_timestamp函數將時間戳轉換為日期,也可以將日期轉換為時間戳。
SELECT from_unixtime(1644071860, 'yyyy-MM-dd HH:mm:ss') as date_time;
這個查詢將返回”2022-02-05 04:24:20″
七、hive把字元串轉換為日期
在Hive中,我們可以使用to_date(dateString, dateFormat)函數將字元串轉換為日期。dateFormat參數是一個日期格式字元串,指定了dateString的格式。例如,我們可以把”20220701″轉換為日期:
SELECT to_date('20220701', 'yyyyMMdd') as date;
這個查詢將返回”2022-07-01″
八、hive字元類型轉換日期
在Hive中,可以使用cast(string AS timestamp)將字元串轉換為日期類型,也可以使用cast(timestamp AS string)將日期類型轉換為字元串類型。
SELECT cast('2022-07-01 00:00:00' AS timestamp) as date, cast(TIMESTAMP '2022-07-01 00:00:00' AS STRING) as date_string;
這個查詢將返回:
date | date_string |
---|---|
2022-07-01 00:00:00.0 | 2022-07-01 00:00:00.0 |
總結
本文詳細介紹了Hive日期格式轉換的各種函數和用法,並提供了相應的代碼示例。Hive提供了多種日期格式轉換函數,它們可以幫助我們非常方便地對日期進行各種轉換和操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/231666.html