大数据分析——Apache Doris(五十一)

573 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情

 DAYOFMONTH(DATETIME date)

获得日期中的天信息,返回值范围从1-31。

参数为Date或者Datetime类型

select dayofmonth ( '2020-01-31' );
 dayofweek(DATETIME date)

DAYOFWEEK函数返回日期的工作日索引值,即星期日为1,星期一为2,星期六为7

参数为Date或者Datetime类型或者可以cast为Date或者Datetime类型的数字

select dayofweek ( '2020-06-25' );****
select dayofweek ( cast ( 20190620 as date ));  
 DAYOFYEAR(DATETIME date)

获得日期中对应当年中的哪一天。

参数为Date或者Datetime类型

select dayofyear ( '2020-02-03 00:00:00' );
 FROM_DAYS(INT N)

通过距离0000-01-01日的天数计算出哪一天

select from_days ( 730669 );****
 FROM_UNIXTIME(INT unix_timestamp[, VARCHAR string_format])

将 unix 时间戳转化为对应的 time 格式,返回的格式由 string_format 指定

默认为 yyyy-MM-dd HH:mm:ss ,也支持date_format中的format格式

传入的是整形,返回的是字符串类型

目前 string_format 支持格式:

%Y:年。例:2014,1900%m:月。例:12,09%d:日。例:11,01%H:时。例:23,01,12%i:分。例:05,11%s:秒。例:59,01

其余 string_format 格式是非法的,返回NULL

如果给定的时间戳小于 0 或大于 253402271999,则返回 NULL。即时间戳范围是:

1970-01-01 00:00:00 ~ 9999-12-31 23:59:59

select from_unixtime ( 1196440219 **);**select from_unixtime ( 1196440219 ,  'yyyy-MM-dd HH:mm:ss' **);**select from_unixtime ( 1196440219 ,  '%Y-%m-%d' **);**select from_unixtime ( 1196440219 ,  '%Y-%m-%d %H:%i:%s' );
 HOUR(DATETIME date)

获得日期中的小时的信息,返回值范围从0-23。

参数为Date或者Datetime类型

select hour ( '2018-12-31 23:59:59' );****
 MINUTE(DATETIME date)

获得日期中的分钟的信息,返回值范围从0-59。

参数为Date或者Datetime类型

select minute ( '2018-12-31 23:59:59' );****
 MONTH(DATETIME date)

返回时间类型中的月份信息,范围是1, 12

参数为Date或者Datetime类型

select month ( '1987-01-01' );****
 MONTHNAME(DATE)

返回日期对应的月份名字

参数为Date或者Datetime类型

select monthname ( '2008-02-03 00:00:00' );****
 NOW()

获得当前的时间,以Datetime类型返回

| select now ();**** |

 SECOND(DATETIME date)

获得日期中的秒的信息,返回值范围从0-59。

参数为Date或者Datetime类型

select second ( '2018-12-31 23:59:59' );****
--------------------------
 STR_TO_DATE(VARCHAR str, VARCHAR format)

通过format指定的方式将str转化为DATE类型,如果转化结果不对返回NULL

支持的format格式与date_format一致

select str_to_date ( '2020-12-21 12:34:56' ,  '%Y-%m-%d %H:%i:%s' **);**select str_to_date ( '2020-12-21 12:34%3A56' ,  '%Y-%m-%d %H:%i%%3A%s' **);**select str_to_date ( '202042 Monday' ,  '%X%V %W' );select str_to_date ( "2020-09-01" ,  "%Y-%m-%d %H:%i:%s" );