0


Spark的常用SQL日期函数

一、获取当前时间

1、current_date****当前日期(年月日)
Examples:
SELECT current_date;
< 2023-01-12

**2、current_timestamp/now()**当前日期 (时间戳)
Examples:
SELECT current_timestamp;
< 2023-01-12 09:29:08.468

二、从日期字段中提取时间

1、year,month,day/dayofmonth,hour,minute,second
Examples:
SELECT year (now());
< 2023

其他的日期函数以此类推
month:1
day: 12(当月的第几天)
dayofmonth:12
hour,minute,second:分别对应时分秒

2、dayofweek 、dayofmonth、 dayofyear
Examples:
SELECT dayofweek ('2023-01-12 09:29:08');
< 5
dayofweek:当前周的第几天,实际第几天是所得数字-1。所以5应该是周四

其他的日期函数以此类推
dayofmonth:当前月份的第几天
dayofyear:当前年份的第几天

3、weekofyear 当前时间是当年的第几周
Examples:select weekofyear('2023-01-12 09:29:08');
< 2

4、trunc截取某部分的日期,其他部分默认为01
参数: ["year", "yyyy", "yy", "mon", "month", "mm"]
Examples:
select trunc('2023-01-12 09:29:08','yyyy');
< 2023-01-01

Examples:
select trunc('2023-01-12 09:29:08','mon');
< 2023-01-01

三、日期转换

1、date_format 将时间转化为某种格式的字符串
Examples:
select date_format('2023-01-12 09:29:08','yyyy-MM-dd HH:mm:ss');
< 2023-01-12 09:29:08

Examples:
select date_format('2023-01-12 09:29:08','yyyy-MM-dd');
< 2023-01-12

2、to_date 将字符串转日期
Examples:select to_date('2023-02-12 09:29:08');
< 2023-02-12

3、unix_timestamp返回当前时间的unix时间戳
注意:需要转换的时间和后面的时间格式需要前后对应
比如:select unix_timestamp('2023-01-12','yyyy-MM-dd HH:mm:ss');
这样的例子就是会报错的!

Examples:
select unix_timestamp('2023-01-12 09:29:08','yyyy-MM-dd HH:mm:ss');
< 1673486948

4、to_unix_timestamp将时间转化为时间戳
Examples:
select to_unix_timestamp('2023-01-12 09:29:08','yyyy-MM-dd HH:mm:ss');
< 1673486948

5、from_unixtime将时间戳换算成当前时间
Examples:
select from_unixtime('1673486948','yyyy-MM-dd');
< 2023-01-12

6、quarter 将1年4等分
Examples:
select quarter('2023-01-12 ');
< 1

四、日期计算

1、date_add(加),date_sub(减)
Examples:
select date_add('2023-01-12',35);
< 2023-02-16

Examples:
select date_sub('2023-01-12',35);
< 2022-12-08

2、last_day(date) 该月的最后一天
Examples:
select last_day('2023-02-12');
< 2023-02-28

3、months_between 两个日期相差的月数
Examples:
select months_between('2023-02-12','2022-01-12');
< 13

4、datediff 两个日期相差的天数
Examples:
select datediff('2023-02-12','2022-01-12');
< 396

标签: sql spark

本文转载自: https://blog.csdn.net/ProBaiXiaodi/article/details/128658019
版权归原作者 一枝风 所有, 如有侵权,请联系我们删除。

“Spark的常用SQL日期函数”的评论:

还没有评论