| 列印 開啟 PDF 版的線上說明

#### 行事曆日期/時間函數 行事曆日期/時間函數會針對日期、時間，以及時間標記，操作資料類型中的資料(時間標記資料類型是日期和時間的組合)。 ### Current_Date 傳回目前的日期。日期是由電腦決定。此值不包含時間元件。 語法： CURRENT_DATE ### ### Current_Time 傳回目前的時間。時間是由電腦決定。該值不包含日期元件。 備註：這個函數會取得此報表執行當時的時間。配合「分析」主題區域使用這個函數，可使報表不進行會降低效能的快取作業。 語法： CURRENT_TIME (n) 其中：
n | 任何整數，代表顯示小數秒的有效位數。引數是選擇性的；未指定引數時，此函數會傳回預設的有效位數。
### Current_TimeStamp 傳回目前的日期/時間標記。時間標記是由電腦決定。 備註：這個函數會取得此報表執行當時的時間。配合「分析」主題區域使用這個函數，可使報表不進行會降低效能的快取作業。 語法： CURRENT_TIMESTAMP (n) 其中：
n | 任何整數，代表顯示小數秒的有效位數。引數是選擇性的；未指定引數時，此函數會傳回預設的有效位數。
### Day_Of_Quarter 傳回對應到指定日期之季度那一天的數字 (介於 1 和 92 之間)。 語法： DAY_OF_QUARTER (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### DayName 傳回指定日期之星期幾的名稱 (使用英文)。 語法： DAYNAME (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### DayOfMonth 傳回對應到指定日期之月份那一天的數字。 語法： DAYOFMONTH (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### DayOfWeek 傳回對應到指定日期之星期幾的數字 (介於 1 和 7 之間)。數字 1 會對應到星期日，而數字 7 則會對應到星期六。 語法： DAYOFWEEK (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### DayOfYear 傳回對應到指定日期之年份那一天的數字 (介於 1 和 366 之間)。 語法： DAYOFYEAR (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### Hour 傳回對應到指定時間之小時的數字 (介於 0 和 23 之間)。例如，0 會對應到上午 12 點，而 23 則會對應到下午 11 點。 語法： HOUR (time_expression) 其中：
time_expression | 評估為時間的任何運算式。
### Minute 傳回對應到指定時間之分鐘的數字 (介於 0 和 59 之間)。 語法： MINUTE (time_expression) 其中：
time_expression | 評估為時間的任何運算式。
### 月份 傳回對應到指定日期之月份的數字 (介於 1 和 12 之間)。 語法： MONTH (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### Month_Of_Quarter 傳回對應到指定日期之季度月份的數字 (介於 1 和 3 之間)。 語法： MONTH_OF_QUARTER (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### MonthName 傳回指定日期之月份的名稱 (使用英文)。 語法： MONTHNAME (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### Now 傳回目前的時間標記。NOW 函數相當於 CURRENT_TIMESTAMP 函數。 備註：這個函數會取得此報表執行當時的時間。配合「分析」主題區域使用這個函數，可使報表不進行會降低效能的快取作業。 語法： NOW () ### ### Quarter_Of_Year 傳回對應到指定日期之年份季度的數字 (介於 1 和 4 之間)。 語法： QUARTER_OF_YEAR (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### Second 傳回對應到指定時間之秒數的數字 (介於 0 和 59 之間)。 語法： SECOND (time_expression) 其中：
time_expression | 評估為時間的任何運算式。
### TimestampAdd TimestampAdd 函數會將指定的間隔數加入到指定的時間標記。系統會傳回單一的時間標記。 語法： TimestampAdd (interval、integer_expression、timestamp_expression) 其中：
interval | 指定的間隔。有效值為： SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
integer_expression | 評估為整數的任何運算式。這是要加入的間隔數。
timestamp_expression | 在計算中，當做基礎使用的時間標記。
傳遞到此函數的 Null 整數運算式或 Null 時間標記運算式會導致 Null 傳回值。 在最簡單的情況下，此函數會根據間隔，僅將指定的間隔值 (integer_expression) 加入到適當的時間標記元件中。加入一週會解譯成加入七天，而加入一季會解譯成加入三個月。負整數值會導致減法 (及時返回)。 指定元件的溢位 (例如，超過 60 秒、24 小時、12 個月等等) 必須將適當的數量加入到下一個元件。例如，加入時間標記的天元件時，此函數會考慮溢位，並將特定月份的天數納入考量 (包括二月有 29 天的閏年)。 加入到時間標記的月元件時，此函數會確認所產生的時間標記對於天元件擁有足夠的天數。例如，將 1 個月加入到 2000-05-31 不會導致 2000-06-31，因為六月沒有 31 天。此函數將天元件減到該月份的最後一天，在此範例中，即為 2000-06-30。 加入到具有二月之月元件以及 29 (此即為閏年二月的最後一天) 之天元件的時間標記年元件時，會引發類似的問題。如果所產生的時間標記沒有落在閏年，此函數會將天元件減到 28。 以下是 TimestampAdd 函數的範例： 將 3 天加入到 2000-02-27 14:30:00 時，下列程式碼範例會要求所產生的時間標記。2000 年 2 月是閏年，因此，這會傳回單一時間標記 2000-03-01 14:30:00。 TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) 將 7 個月加入到 1999-07-31 0:0:0 時，下列程式碼範例會要求所產生的時間標記。這會傳回單一時間標記 2000-02-29 00:00:00。請注意，天元件會因為二月是較短的月份而減到 29。 TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) 將 25 分鐘加入到 2000-07-31 23:35:00 時，下列程式碼範例會要求所產生的時間標記。這會傳回單一時間標記 2000-08-01 00:00:00。請注意透過月元件的溢位傳播。 TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) ### ### TimeStampDiff TimestampDiff 函數會傳回兩個時間標記之間的指定間隔總數。 語法： TimestampDiff (interval、timestamp_expression1、timestamp_expression2) 其中：
interval | 指定的間隔。有效值為： SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
timestamp_expression1 | 與第二個時間標記相減的時間標記。
timestamp_expression2 | 第二個 timestamp. timestamp_expression1 會與此時間標記相減以判斷落差。
傳遞到此函數的 Null 時間標記運算式參數會導致 Null 傳回值。 此函數會先判斷對應到指定間隔參數的時間標記元件。例如，SQL_TSI_DAY 會對應到天元件，而 SQL_TSI_MONTH 會對應到月元件。 接著，此函數會兩個時間標記中順序較高的元件，來計算每個時間標記的間隔總數。例如，如果指定的間隔對應到月元件，此函數會加入月元件，然後將年元件乘以 12，來計算每個時間標記的月份總數。 最後，此函數會從第二個時間標記的間隔總數減去第一個時間標記的間隔總數。 計算天數差異時，此函數會截斷來自時間標記運算式的時間值，然後減去日期值。 計算週的差異時，此函數會計算天數的差異，然後先除以 7 之後再四捨五入。 計算季的差異時，此函數會計算月的差異，然後先除以 3 之後再四捨五入。 計算年的差異時，此函數會計算月的差異，然後先除以 12 之後再四捨五入。 #### TimestampDiff 函數與結果範例 下列程式碼範例會要求時間標記 1998-07-31 23:35:00 和 2000-04-01 14:24:00 之間的天數差異。它會傳回值 610。請注意，2000 年的閏年會導致出現額外一天。 TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) ### ### Week_Of_Quarter 傳回對應到指定日期之季度週數的數字 (介於 1 和 13 之間)。 語法： WEEK_OF_QUARTER (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### Week_Of_Year 傳回對應到指定日期之年份週數的數字 (介於 1 和 53 之間)。 語法： WEEK_OF_YEAR (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
### 年份 傳回指定日期的年份。 語法： YEAR (date_expression) 其中：
date_expression | 評估為日期的任何運算式。
範例： YEAR (CURRENT_DATE)

2022年8月 | Copyright © 2005, 2022, Oracle 和 (或) 其關係企業。 Legal Notices.