Hive中的dayofweek()函數用于返回給定日期或時間戳的星期幾。這個函數基于ISO-8601標準,其中星期一是1,星期日是7。
dayofweek()函數的語法如下:
dayofweek(timestamp)
其中,timestamp是一個時間戳表達式,可以是一個日期字面量、一個時間戳字面量或者一個有效的表列名。
下面是一些使用dayofweek()函數的示例:
返回當前日期的星期幾:
SELECT dayofweek(current_date);
這將返回一個數字,表示當前日期是星期幾(1表示星期一,2表示星期二,依此類推)。
返回特定時間戳的星期幾:
SELECT dayofweek(from_unixtime(unix_timestamp('2022-01-01 12:00:00')));
這將返回一個數字,表示2022年1月1日12:00:00是星期幾。
返回表中某列的星期幾:
SELECT t1.id, t1.name, dayofweek(t1.created_at) as day_of_week
FROM users t1;
這將返回一個結果集,其中包含用戶ID、用戶名和創建時間的星期幾。