页面树结构
转至元数据结尾
转至元数据起始

1、函数说明


函数

描述

1

add_months(start_date, num_months)

:增加月份

函数名称:add_months(日期字段, 月数):

函数说明: 返回指定日期前或者后几个月;比如根据订单日期获取上月、获取下月。

示例:在派生列节点输入add_months(日期字段, 月数),替换成相应字段,如下图:

1、下月:add_months([订单时间],1)


2、上月:add_months([订单时间],-1)

 

2

date_add(start_date, num_days) 

函数名称:date_add(日期字段, 天数):

函数说明: 返回指定日期后几天;比如根据订单日期获取明天。

示例:在派生列节点输入date_add(日期字段, 天数),替换成相应字段,如下图:


1、明天:date_add([订单日期],1)

3

date_format(timestamp, fmt)

:日期格式化

函数名称:date_format(日期字段, 格式):

函数说明: 修改日期格式,对时间字段进行格式化。

示例:

1、【年月日】 转 【年月】:date_format([OrderDate],'yyyy-MM'),※特别:M要大写!

2、【年月日】 转 【年】:date_format([OrderDate],'y')或date_format([OrderDate],'yyyy')

3、【年月日】转【年月日时分秒】:date_format([OrderDate],'yyyy-MM-dd HH:mm:ss')

参数说明:

格式化参数释义类型例子
yyear2020; 20
D年内天数number(3)189
M/Lmonth7; 07; Jul; July
d月内天数number(2)28
Q/q年内季度number/text3; 03; Q3; 3rd quarter
E周几textTue; Tuesday
a上午/下午am-pmPM
h小时number(2)12
K小时 (0-11)number(2)0
k小时(1-24)number(2)0
H小时(0-23)number(2)0
m分钟number(2)30
snumber(2)55
yyyy-MM-dd年月日年月日2023-10-11
yyyy-MM-dd HH:mm:ss年月日 时分秒年月日 时分秒2023-10-11 00:00:00
4

date_sub(start_date, num_days)

返回指定日期前几天;比如根据订单日期获取昨天

函数名称:date_sub(日期字段, 天数):

函数说明: 返回指定日期前几天;比如根据订单日期获取昨天。

示例:

1、昨天:date_sub([订单日期],1)


5

date_trunc(fmt, timestamp) 

 返回格式化截断为指定单位的日期

函数名称:date_trunc(格式,日期字段):

函数说明: 返回格式化截断为指定单位的日期

示例:

1、按年截取:date_trunc('YEAR', [OrderDate])也可以用: 'YYYY', 'YY'

2、其他截取格式

> date_trunc('MM', '2015-03-05T09:32:05.359'); 2015-03-01 00:00:00

> date_trunc('DD', '2015-03-05T09:32:05.359'); 2015-03-05 00:00:00

> date_trunc('HOUR', '2015-03-05T09:32:05.359'); 2015-03-05 09:00:00

> date_trunc('MILLISECOND', '2015-03-05T09:32:05.123456'); 2015-03-05 09:32:05.123

6

date_diff(endDate, startDate) /datediff(endDate, startDate) 

 返回日期之间的天数差

函数名称:date_trunc(结束日期, 开始日期):

函数说明: 返回日期之间的天数差

示例:

1、日期天数差:date_diff([RequiredDate],[OrderDate])或者datediff([RequiredDate],[OrderDate])

7

day(date), dayofmonth(date)

函数说明:返回月中某日

> SELECT day('2023-07-30'); 30

8

dayofweek(date)

返回星期几(1-7)

函数说明:返回星期几(1-7)

> SELECT dayofweek('2023-07-30'); 1

9

dayofyear(date)

返回年中的日

函数说明:返回年中的日

> SELECT dayofyear('2023-04-09');99

10

from_unixtime(unix_time[, fmt])

以Unix时间返回日期

函数说明:以Unix时间返回日期

> SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss'); 1970-01-01 08:00:00

> SELECT from_unixtime(0); 1970-01-01 08:00:00

11

from_utc_timestamp(timestamp, timezone)

以UTC时间返回日期

函数说明:以UTC时间返回日期

> SELECT from_utc_timestamp('2023-08-31', 'Asia/Seoul'); 2023-08-31 09:00:00

12

hour(timestamp)

返回输入的小时

函数说明:返回输入的小时

> SELECT hour('2023-07-30 12:58:59'); 12

13

last_day(date)

返回日期所属月份的最后一天

函数说明:返回日期所属月份的最后一天

> SELECT last_day('2009-01-12'); 2009-01-31

14

minute(timestamp)
:返回输入的分钟数

函数说明:返回输入的分钟数

> SELECT minute('2023-07-30 12:58:59'); 58

15

month(date)

:返回输入的月份

函数说明:返回输入的月份

> SELECT month('2023-07-30'); 7

16

months_between(timestamp1, timestamp2[, roundOff])

返回介于两个时间月份数

函数说明:返回介于两个时间月份数

如果时间戳1晚于时间戳2,则结果为正值。如果时间戳1和时间戳2在同一个月的同一天,或者两者都是该月的最后一天,则将忽略。否则,差额将以每月31天为基础计算,并四舍五入至8位,除非舍入为false。

17

next_day(start_date, day_of_week)

:返回比输入日期晚的第一天

函数说明:返回比输入日期晚的第一天

day_of_week参数:Mon、Tue、Wed、Thu、Fri、Sat、Sun

> SELECT next_day('2015-01-14', 'TU'); 2015-01-20

18

quarter(date)

:返回日期所在的季度

函数说明:返回输入日期所在的季度

> SELECT quarter('2023-08-31'); 3

19

second(timestamp)

:返回字符串的秒数

函数说明:返回字符串的秒数

> SELECT second('2023-07-30 12:58:59'); 59

20

to_date(date_str[, fmt])

将字符串转换为日期

函数说明:将字符串转换为日期。

 注意: 字符串 必须 采用格式:yyyy-mm-ddTHH24:MM:SS.、yyyy-mm-dd、yyyy-mm-dd HH24:MM:SS等

21

to_timestamp(timestamp_str[, fmt]) 

函数说明:将字符串转换为时间戳。 注意: 字符串 必须 采用格式 yyyy-mm-ddTHH24:MM:SS.

> SELECT to_timestamp('2023-12-31 00:12:00'); 2023-12-31 00:12:00

> SELECT to_timestamp('2023-12-31', 'yyyy-MM-dd'); 2023-12-31 00:00:00

22

to_unix_timestamp(timeExp[, fmt])

函数说明:将字符串转换为Unix时间戳

> SELECT to_unix_timestamp('2023-04-08', 'yyyy-MM-dd'); 1680883200

23

to_utc_timestamp(timestamp, timezone)

函数说明:将字符串转换为UTC时间戳

> SELECT to_utc_timestamp('2023-08-31', 'Asia/Seoul');2023-08-30 15:00:00

24

trunc(date, fmt)

:截断日期

函数说明:截断日期

> SELECT trunc('2019-08-04', 'week'); 2019-07-29

> SELECT trunc('2019-08-04', 'quarter'); 2019-07-01

> SELECT trunc('2009-02-12', 'MM'); 2009-02-01

> SELECT trunc('2015-10-27', 'YEAR'); 2015-01-01

25

unix_timestamp(date)

:返回Unix时间戳

函数说明:返回Unix时间戳

> SELECT unix_timestamp(); 1476884637

> SELECT unix_timestamp('2016-04-08', 'yyyy-MM-dd'); 1460041200

26

weekday(date)

:星期几(0-6)

函数说明:星期几(0-6)

> SELECT weekday('2009-07-30'); 3

27

weekofyear(date)

:年中哪一周

函数说明:返回给定日期在一年中的哪一周

> SELECT weekofyear('2008-02-20'); 8

28

year(date)

:返回本年

函数说明:返回字符串的年份

> SELECT year('2023-07-30'); 2023

29

current_date()

current_date

:获取当前日期

函数说明:返回当前日期

> SELECT current_date(); 2023-11-27

30

now()
:获取当前日期时间

函数说明:返回当前日期时间

> SELECT now(); 2023-11-27 17:43:57.369


  • 无标签