全部產品
Search
文件中心

Quick BI:日期函數

更新時間:Sep 04, 2025

日期函數是在資料分析中用於處理日期和時間的函數。它們可以用于格式化日期、計算日期之間的差異、擷取目前時間戳、添加或減去時間單位等。本文為您介紹系統內建函數中日期函數的使用方法。

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_DAYOFWEEK

文法

BI_DAYOFWEEK(date, <start>)

參數說明

  • date:待返回星期幾的日期。

  • start:指定開始的星期數,預設為“Mon”,具體對應如下(不區分大小寫):

    Mon:周一

    Tue:周二

    Wed:周三

    Thu:周四

    Fri:周五

    Sat:周六

    Sun:周日

定義

返回<date>為所在周的第幾天。

周以<start>為起始第一天,<start>非必填,預設為“Mon”。

輸出

數值

樣本

BI_DAYOFWEEK("2024-05-22", "Mon") = 3

BI_DAYOFWEEK("2024-09-29", "Mon") = 7

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