標籤:har between 精確 欄位名 tty 字串 字元 val 資訊
PL/SQL日期及時間
PL/SQL提供兩個日期和時間相關的資料類型:
-
日期時間(Datetime)資料類型
-
間隔資料類型
datetime資料類型有:
間隔資料類型是:
-
INTERVAL YEAR TO MONTH
-
INTERVAL DAY TO SECOND
日期時間欄位值和間隔資料類型
這兩個日期時間和間隔資料類型包括欄位。這些欄位的值確定的資料類型的值。下表列出了時間和間隔的欄位及其可能的值。
| 欄位名稱 |
有效日期時間值 |
有效間隔值 |
| YEAR |
-4712 to 9999 (除外0年) |
任何非0整數 |
| MONTH |
01 - 12 |
0 - 11 |
| DAY |
01 - 31 (受MONTH和YEAR的數值,按日曆的地區設定的規則) |
任何非0整數 |
| HOUR |
00 - 23 |
0 - 23 |
| MINUTE |
00 - 59 |
0 - 59 |
| SECOND |
00 to 59.9(n), 其中,9(n)是時間小數秒精度
在9(n)的部分是不適用DATE。 |
0 to 59.9(n), 其中,9(n)是區間小數秒精度 |
| TIMEZONE_HOUR |
-12 - 14 (適應範圍夏令時更改)
DATE 或 TIMESTAMP不適用. |
不適用 |
| TIMEZONE_MINUTE |
00 - 59
DATE 或 TIMESTAMP不適用. |
不適用 |
| TIMEZONE_REGION |
DATE 或 TIMESTAMP不適用. |
不適用 |
| TIMEZONE_ABBR |
DATE 或 TIMESTAMP不適用. |
不適用 |
日期時間資料類型和函數
下面是日期時間資料類型:
-
DATE - 它儲存在字元和數字資料類型的日期和時間資訊。它是由上世紀,年,月,日,時,分,秒的資訊。它被指定為:
-
TIMESTAMP - 它是日期資料類型的擴充。它的年,月,日的日期資料類型的儲存,以及小時,分鐘和秒值。它是用於儲存精確的時間值有用。
-
TIMESTAMP WITH TIME ZONE - 它是時間戳記的變體,其中包括一個時區地區名稱或時區中它的值位移。時區位移量是本地的時間和UTC之間的差值(以小時和分鐘)。此資料類型是用於收集和計算跨越地理地區的最新資訊有用。
-
TIMESTAMP WITH LOCAL TIME ZONE - 它是時間戳記(TIMESTAMP )的另一種變型,其中包括一個時區中它的值位移。
下表列出了日期時間函數(其中,x有日期時間值):
| S.N |
函數名稱 & 描述 |
| 1 |
ADD_MONTHS(x, y);
增加y個月到x |
| 2 |
LAST_DAY(x);
返回該月的最後一天 |
| 3 |
MONTHS_BETWEEN(x, y);
返回x和y之間的月數 |
| 4 |
NEXT_DAY(x, day);
返回x後第二天的日期時間 |
| 5 |
NEW_TIME;
返回從由使用者指定的一個時區的時間/天的值 |
| 6 |
ROUND(x [, unit]);
x舍入; |
| 7 |
SYSDATE();
返回當前日期時間。 |
| 8 |
TRUNC(x [, unit]);
截斷x |
時間戳記函數(其中,x是一個時間戳記值):
| S.N |
函數名稱 & 描述 |
| 1 |
CURRENT_TIMESTAMP();
返回包含當前會話時間以及會話時區的時區中的時間戳記( TIMESTAMP WITH TIME ZONE) |
| 2 |
EXTRACT({ YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | TIMEZONE_MINUTE } | { TIMEZONE_REGION | } TIMEZONE_ABBR ) FROM x)
從x提取並返回年,月,日,時,分,秒,或時間; |
| 3 |
FROM_TZ(x, time_zone);
通過TIME_ZONE指定WITH TIMEZONE一個TIMESTAMP時間戳記x和時區轉換 |
| 4 |
LOCALTIMESTAMP();
返回包含在會話時區的本地時間時間戳記 |
| 5 |
SYSTIMESTAMP();
返回含有當前資料庫的時間以及資料庫時區的時區中的時間戳記(TIMESTAMP WITH TIME ZONE) |
| 6 |
SYS_EXTRACT_UTC(x);
WITH TIMEZONE X的TIMESTAMP轉換為包含日期和時間UTC時間戳記 |
| 7 |
TO_TIMESTAMP(x, [format]);
將字串x轉換為一個TIMESTAMP |
| 8 |
TO_TIMESTAMP_TZ(x, [format]);
字串x轉換到WITH TIMEZONE時間戳記 |
樣本:
下面的程式碼片段示出了使用上述函數功能:
SELECT SYSDATE FROM DUAL;
輸出:
08/31/2014 5:25:34 PM
SELECT TO_CHAR(CURRENT_DATE, ‘DD-MM-YYYY HH:MI:SS‘) FROM DUAL;
輸出:
31-08-2014 05:26:14
SELECT ADD_MONTHS(SYSDATE, 5) FROM DUAL;
輸出:
01/31/2014 5:26:31 PM
SELECT LOCALTIMESTAMP FROM DUAL;
輸出:
8/31/2014 5:26:55.347000 PM
間隔資料類型和函數
以下是間隔資料類型:
間隔函數:
| S.N |
函數名稱 & 描述 |
| 1 |
NUMTODSINTERVAL(x, interval_unit);
整數x轉換為一個間隔(DAY TO SECOND) |
| 2 |
NUMTOYMINTERVAL(x, interval_unit);
x到時間間隔(YEAR TO MONTH)數的轉換 |
| 3 |
TO_DSINTERVAL(x);
將字串x時間間隔(DAY TO SECOND)到秒轉換 |
| 4 |
TO_YMINTERVAL(x);
將字串x時間間隔(YEAR TO MONTH)轉換為整數 |
SQL記錄-PLSQL日期與時間