日期函数

日期函数是在数据分析中用于处理日期和时间的函数。它们可以用于格式化日期、计算日期之间的差异、获取当前时间戳、添加或减去时间单位等。本文为您介绍系统内置函数中日期函数的使用方法。

BI_DATEADD

BI_DATEADD用于返回加上指定时间段后的日期。

语法

BI_DATEADD(date, interval, date_part)

参数说明

  • date:待返回的日期。

  • interval:指定时间间隔。

  • date_part:指定的时间单位,支持以下时间单位(不区分大小写):

    year: 年

    quarter: 季

    month: 月

    week: 周

    day: 日

    hour: 时

    minute: 分钟

    second: 秒

定义

返回日期的指定 <date_part> 中加上指定的数字 <interval>后的日期。

输出

日期

示例

BI_DATEADD('2020-09-29', 100, 'day' ) = 2021-01-07

BI_DATEDIFF

BI_DATEDIFF用于返回两个日期之间的时间差。

语法

BI_DATEDIFF(date1, date2, date_part)

参数说明

  • date1:待返回的日期1。

  • date2:待返回的日期2。

  • date_part:返回的时间单位,支持以下时间单位(不区分大小写):

    year: 年

    quarter: 季

    month: 月

    week: 周

    day: 日

    hour: 时

    minute: 分钟

    second: 秒

定义

返回 <date1> 与 <date2> 之差。以 <date_part> 的单位表示,只计算完整<date_part>。

输出

整数

示例

BI_DATEDIFF('2024-05-22', '2020-09-29', 'year') = 3

即在2020年9月29日与2024年5月22日之间有3个整年。

BI_DATETRUNC

BI_DATETRUNC用于按照某个级别(日、月、季度、年等)截断日期,获取指定级别第一天的日期。

语法

BI_DATETRUNC(date, date_part)

参数说明

  • date:待返回的日期。

  • date_part:截断日期的时间单位,支持以下时间单位(不区分大小写):

    year: 年

    quarter: 季

    month: 月

    week: 周

    day: 日

    hour: 时

    minute: 分钟

    second: 秒

定义

按 <date_part>指定的准确度截断 <date>。例如,以月份级别截断,此函数返回当月的第一天。

输出

日期

示例

BI_DATETRUNC('2020-09-29', 'day') = 2020-09-29

BI_DATETRUNC('2020-09-29', 'quarter') = 2020-07-01

BI_DAY

BI_DAY用于返回日期中的天。

语法

BI_DAY(date)

参数说明

date:待返回天的日期。

定义

以整数的形式返回给定 <date> 的天。

输出

整数

示例

BI_DAY('2020-09-29') = 29

BI_MAKEDATE

BI_MAKEDATE用于构造某个日期。

语法

BI_MAKEDATE(year, month, day)

参数说明

  • year:构造的年。

  • month:构造的月。

  • day:构造的日。

定义

返回一个依据指定 <year>、<month> 和 <day> 构造的日期值。

输出

日期

示例

BI_MAKEDATE(2020, 9, 29) = 2020-09-29

BI_MONTH

BI_MONTH用于返回日期中的月份。

语法

BI_MONTH(date)

参数说明

date:待返回月份的日期。

定义

以整数形式返回给定 <date> 的月份。

输出

整数

示例

BI_MONTH('2020-09-29') = 9

BI_NOW

BI_NOW()用于返回当前时间。

语法

BI_NOW()

定义

返回当前时间。

输出

日期

示例

BI_NOW() = 2024-05-22 09:29:29

BI_QUARTER

BI_QUARTER用于返回日期中的季度。

语法

BI_QUARTER(date)

参数说明

date:待返回季度的日期。

定义

以整数形式返回给定 <date> 的季度。

输出

整数

示例

BI_QUARTER('2020-09-29') = 3

BI_TODAY

BI_TODAY()用于返回当前日期。

语法

BI_TODAY()

定义

返回当前日期。

输出

日期

示例

BI_TODAY() = 2024-05-22

BI_WEEK

BI_WEEK用于返回日期中的周。

语法

BI_WEEK(date)

参数说明

date:待返回周的日期。

定义

以整数形式返回给定 <date> 的周。

输出

整数

示例

BI_WEEK('2010-01-01') = 52

BI_WEEK('2010-01-06') = 1

BI_YEAR

BI_YEAR用于返回日期中的年份。

语法

BI_YEAR(date)

参数说明

date:待返回年份的日期。

定义

以整数形式返回给定 <date> 的年份。

输出

整数

示例

BI_YEAR('2020-09-29') = 2020