Skip to content

日期函数

add_day

语法add_day(T,I)
参数说明1. 时间类型参数;
2. 要增加的天数,可选类型:数字
返回值类型时间
描述返回从起始日期算起,数值字段对应天数之后的日期,如果数值字段是负数,则返回对应天数之前的日期。
例子add_day('2018-02-02', 3),返回:2018-02-05

add_hour

语法add_hour(T,I)
参数说明1. 时间类型参数;
2. 要增加的小时数,可选类型:数字
返回值类型时间
描述返回从起始时间算起,数值字段对应小时数之后的时间,如果数值字段是负数,则返回对应小时数之前的时间。
例子add_hour('2018-02-02 08:30:00.000', 3),返回:2018-02-02 11:30:00.000

add_minute

语法add_minute(T,I)
参数说明1. 时间类型参数;
2. 要增加的分钟数,可选类型:数字
返回值类型时间
描述返回从起始时间算起,数值字段对应分钟数之后的时间,如果数值字段是负数,则返回对应分钟数之前的时间。
例子add_minute('2018-02-02 08:30:00.000', 3),返回:2018-02-02 08:33:00.000

add_month

语法add_month(T,I)
参数说明1. 时间类型参数;
2. 要增加的月数,可选类型:数字
返回值类型时间
描述返回从起始日期算起,数值字段对应月数之后的日期,如果数值字段是负数,则返回对应月数之前的日期。
例子add_month('2018-02-02', 3),返回:2018-05-02

add_quarter

语法add_quarter(T,I)
参数说明1. 时间类型参数;
2. 要增加的季度数,可选类型:数字
返回值类型时间
描述返回从起始日期算起,数值字段对应季度数之后的日期,如果数值字段是负数,则返回对应季度数之前的日期。
例子add_quarter('2018-02-02', 3),返回:2018-05-02

add_week

语法add_week(T,I)
参数说明1. 时间类型参数;
2. 要增加的周数,可选类型:数字
返回值类型时间
描述返回从起始日期算起,数值字段对应星期数之后的日期,如果数值字段是负数,则返回对应星期数之前的日期。
例子add_week('2018-02-02', 3),返回:2018-05-02

add_year

语法add_year(T,I)
参数说明1. 时间类型参数;
2. 要增加的年数,可选类型:数字
返回值类型时间
描述返回从起始日期算起,数值字段对应年数之后的日期,如果数值字段是负数,则返回对应年数之前的日期。
例子add_year('2018-02-02', 3),返回:2021-02-02

add_year_keep_woy

语法add_year_keep_woy(T,I)
参数说明1. 时间类型参数;
2. 要增加的年数,可选类型:数字
返回值类型时间
描述和 add_year 类似,但是调整日期使得年中周数保持不变
例子add_year_keep_woy('2023-01-01', 1),返回:2024-01-01(示例,具体结果因周数计算逻辑而异)
不支持的数据源mysql、tidb、sqlserver、redshift、spark、hive、impala、presto、db2、mongodb、maxcompute

age_in_days

语法age_in_days(START, END)
参数说明1. 起始时间,时间类型参数;
2. 结束时间,时间类型参数
返回值类型数字
描述比较两个时间在日期上的差异,所有时间部分均参与运算。
例子age_in_days('2021-05-31 00:00:50', '2022-05-31 00:00:00'),返回:364

age_in_hours

语法age_in_hours(START, END)
参数说明1. 起始时间,时间类型参数;
2. 结束时间,时间类型参数
返回值类型数字
描述比较两个时间在小时上的差异,所有时间部分均参与运算。
例子age_in_hours('2021-05-31 00:00:50', '2022-05-31 00:00:00'),返回:8759

age_in_milliseconds

语法age_in_milliseconds(START, END)
参数说明1. 起始时间,时间类型参数;
2. 结束时间,时间类型参数
返回值类型数字
描述比较两个时间在毫秒上的差异,所有时间部分均参与运算。
例子age_in_milliseconds('2021-05-31 00:00:00.531', '2022-05-31 00:00:00.000'),返回:31535999469

age_in_minutes

语法age_in_minutes(START, END)
参数说明1. 起始时间,时间类型参数;
2. 结束时间,时间类型参数
返回值类型数字
描述比较两个时间在分钟上的差异,所有时间部分均参与运算。
例子age_in_minutes('2021-05-31 00:00:50', '2022-05-31 00:00:00'),返回:525599

age_in_months

语法age_in_months(START, END)
参数说明1. 起始时间,时间类型参数;
2. 结束时间,时间类型参数
返回值类型数字
描述比较两个时间在月份上的差异,所有时间部分均参与运算。
例子age_in_months('2021-05-31 00:00:50', '2022-05-31 00:00:00'),返回:11

age_in_seconds

语法age_in_seconds(START, END)
参数说明1. 起始时间,时间类型参数;
2. 结束时间,时间类型参数
返回值类型数字
描述比较两个时间在秒上的差异,所有时间部分均参与运算。
例子age_in_seconds('2021-05-31 00:00:00.531', '2022-05-31 00:00:00.000'),返回:31535999

age_in_years

语法age_in_years(START, END)
参数说明1. 起始时间,时间类型参数;
2. 结束时间,时间类型参数
返回值类型数字
描述比较两个时间在年份上的差异,所有时间部分均参与运算。
例子age_in_years('2021-05-31 00:00:50', '2022-05-31 00:00:00'),返回:0

diff_in_day

语法diff_in_day(START,END)
参数说明1. 指定起始,可选类型:时间;
2. 指定结束,可选类型:时间
返回值类型数字
描述比较两个日期在天数上的差异。
例子diff_in_day('2015-02-03', '2018-02-03'),返回:1095

diff_in_hour

语法diff_in_hour(START,END)
参数说明1. 指定起始,可选类型:时间;
2. 指定结束,可选类型:时间
返回值类型数字
描述比较两个时间在小时上的差异。
例子diff_in_hour('2015-03-24 16:32:32', '2018-02-02 12:34:43'),返回:25100

diff_in_minute

语法diff_in_minute(START,END)
参数说明1. 指定起始,可选类型:时间;
2. 指定结束,可选类型:时间
返回值类型数字
描述比较两个时间在分钟上的差异。
例子diff_in_minute('2015-03-24 16:32:32', '2018-02-02 12:34:43'),返回:1506002

diff_in_month

语法diff_in_month(START,END)
参数说明1. 指定起始,可选类型:时间;
2. 指定结束,可选类型:时间
返回值类型数字
描述比较两个日期在月份上的差异。
例子diff_in_month('2015-02-03', '2018-02-03'),返回:36

diff_in_year

语法diff_in_year(START,END)
参数说明1. 指定起始,可选类型:时间;
2. 指定结束,可选类型:时间
返回值类型数字
描述比较两个时间在年份上的差异。
例子diff_in_year('2015-02-03', '2018-02-03'),返回:3

end_of_month

语法end_of_month(T)
参数说明时间类型参数
返回值类型时间
描述获取时间字段所在的月末最后一天的起始时间
例子end_of_month('2018-02-02'),返回:2018-02-28

extract_day

语法extract_day(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的天部分,表示当天是当月是第几天。
例子extract_day('2018-02-02'),返回:2

extract_dow

语法extract_dow(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的天部分,表示当天是星期几。
例子extract_dow('2018-02-02'),返回:5

extract_doy

语法extract_doy(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的天部分,表示当天是一年是第几天。
例子extract_doy('2018-02-02'),返回:33

extract_hour

语法extract_hour(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的小时部分,表示当前小时数。
例子extract_hour('2018-02-03 13:23:21'),返回:13

extract_minute

语法extract_minute(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的分钟部分,表示当前分钟数。
例子extract_minute('2018-02-03 13:23:21'),返回:23

extract_month

语法extract_month(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的月份部分。
例子extract_month('2018-02-02'),返回:2

extract_quarter

语法extract_quarter(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的季度部分。
例子extract_quarter('2018-02-02'),返回:1

extract_second

语法extract_second(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的秒部分,表示当前秒数。
例子extract_second('2018-02-03 13:23:21'),返回:21

extract_week

语法extract_week(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的星期部分,表示当天所属星期是一年是第几个星期。
例子extract_week('2018-02-02'),返回:4

extract_year

语法extract_year(T)
参数说明时间类型参数
返回值类型数字
描述获取参数中的年份部分。
例子extract_year('2018-02-02'),返回:2018

month_weekday_count

语法month_weekday_count(YEAR,MONTH)
参数说明1. 年份,可选类型:数字;
2. 月份,可选类型:数字
返回值类型数字
描述获取参数所在月份的工作日天数。
例子month_weekday_count(2018, 2),返回:20
不支持的数据源mysql、tidb、sqlserver、redshift、oracle、impala、hive、spark、db2、mongodb、maxcompute

now

语法now()
参数说明无参数
返回值类型时间
描述返回当前时间,包含了时、分、秒信息
例子now(),返回:当前系统时间(如 2024-05-20 15:30:45)

parse_time

语法parse_time(S,LITERAL_PATTERN)
参数说明1. 文本类型参数;
2. 指定模式,可选类型:字符串
返回值类型时间
描述使用 literal_pattern 将 s 参数解析成时间类型
例子parse_time('2024-05-20', 'yyyy-MM-dd'),返回:2024-05-20
不支持的数据源sqlserver

time_in_range

语法time_in_range(T,S)
参数说明1. 时间类型参数;
2. 文本类型参数
返回值类型布尔
描述判断日期 date 是否在指定的范围,可选范围有:'Current Year', 'Current Year-to-Date', 'Current Quarter', 'Current Quarter-to-Date', 'Current Month', 'Current Month-to-Date', 'Current Week', 'Current Week-to-Date', 'Today', 'Current Hour', 'Yesterday', 'Recent 7 days', 'Recent 30 days', 'Recent 90 days', 'All Available Date', 'All Invalid Date', 'All'
例子time_in_range('2024-05-20', 'Today'),返回:TRUE(若当前日期为 2024-05-20)

today

语法today()
参数说明无参数
返回值类型时间
描述返回当前日期,不包含时、分、秒信息
例子today(),返回:当前系统日期(如 2024-05-20)

trunc_day

语法trunc_day(T)
参数说明时间类型参数
返回值类型时间
描述将时间或者日期列截取到天。
例子trunc_day('2018-02-02 12:30:59'),返回:'2018-02-02'

trunc_hour

语法trunc_hour(T)
参数说明时间类型参数
返回值类型时间
描述将时间列截取到小时,更细粒度全都置为0。
例子trunc_hour('2018-02-02 12:23:32'),返回:'2018-02-02 12:00:00'

trunc_minute

语法trunc_minute(T)
参数说明时间类型参数
返回值类型时间
描述将时间列截取到分钟,更细粒度全都置为0。
例子trunc_minute('2018-02-02 12:23:32'),返回:'2018-02-02 12:23:00'

trunc_month

语法trunc_month(T)
参数说明时间类型参数
返回值类型时间
描述将时间或者日期列截取到月,日期置为1日。
例子trunc_month('2018-02-02 12:23:32'),返回:'2018-02-01'

trunc_millisecond

语法trunc_millisecond(T)
参数说明时间类型参数
返回值类型时间
描述将时间列截取到毫秒,更细粒度全都置为0。
例子trunc_millisecond('2018-02-02 12:23:32.123'),返回:'2018-02-02 12:23:32.123'

trunc_quarter

语法trunc_quarter(T)
参数说明时间类型参数
返回值类型时间
描述将时间或者日期列截取到季度,月份置为季度中的第一个月,日期置为1日。
例子trunc_quarter('2018-05-02 12:23:32'),返回:'2018-04-01'

trunc_second

语法trunc_second(T)
参数说明时间类型参数
返回值类型时间
描述将时间列截取到秒,更细粒度全都置为0。
例子trunc_second('2018-02-02 12:23:32.123'),返回:'2018-02-02 12:23:32.000'

trunc_week

语法trunc_week(T)
参数说明时间类型参数
返回值类型时间
描述将时间或者日期列截取到周,月份和日期置为本周的第一天。
例子trunc_week('2018-02-02'),返回:'2018-01-29'

trunc_year

语法trunc_year(T)
参数说明时间类型参数
返回值类型时间
描述将时间或者日期列截取到年,月份和日期置为1月1日。
例子trunc_year('2018-02-02 12:23:32'),返回:'2018-01-01'

衡石分析平台使用手册