共計 2642 個字符,預計需要花費 7 分鐘才能閱讀完成。
這篇文章給大家介紹 INTERVAL DAY TO SECOND 數據類型是怎樣的呢,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
INTERVAL DAY TO SECOND 類型可以用來存儲單位為天和秒的時間間隔。下面這條語句創建一個名為 promotions 的表,用來存儲促銷信息。promotions 表包含了一個 INTERVAL DAY TO SECOND 類型的列 duration,該列用來記錄促銷有效的時間間隔:
CREATE TABLE promotions (
promotion_id INTEGER CONSTRAINT promotions_pk PRIMARY KEY,
name VARCHAR2(30) NOT NULL,
duration INTERVAL DAY(3) TO SECOND (4)
);
注意此處指定了 duration 列中天的精度為 3,秒的小數部分精度為 4。這就是說可以為該列的天存儲 3 位數字,而為該列的秒最多可以在小數點右邊存儲 4 位數字。
要向數據庫提供一個 INTERVAL DAY TO SECOND 字面值,可以使用下面的簡化語法:
INTERVAL [+|-][d] [h[: m[: s]]] [DAY[( days_precision)]])
[TO HOUR | MINUTE | SECOND[( seconds_precision)]]
● + 或 – 是一個可選的指示符,用來說明時間間隔是正數還是負數 (默認為正數)。
● d 是時間間隔的天數。
● h 是一個可選參數,表示時間間隔的小時數。如果指定了天和小時,必須在 INTERVAL 子句中包含 TO HOUR。
● h 是一個可選參數,表示時間間隔的分鐘數。如果指定了天和分,必須在 INTERVAL 子句中包含 TO MINUTES。
● s 是一個可選參數,表示時間間隔的秒數。如果指定了天和秒,必須在 INTERVAL 子句中包含 TO SECOND。
● days_precision 是一個可選參數,用來說明天數的精度 (默認值為 2)。
● seconds_precision 是一個可選參數,用來說明秒的精度 (默認值為 6)。
時間間隔字面量的例子
INTERVAL‘3’DAY
時間間隔為 3 天
INTERVAL‘2’HOUR
時間間隔為 2 小時
INTERVAL‘25’MINUTE
時間間隔為 25 分鐘
INTERVAL‘45’SECOND
時間間隔為 45 秒
INTERVAL‘3 2’DAY TO HOUR
時間間隔為 3 天零 2 小時
INTERVAL‘3 2:25’DAY TO MINUTE
時間間隔為 3 天零 2 小時 25 分
INTERVAL‘3 2:25:45’DAY TO SECOND
時間間隔為 3 天零 2 小時 25 分 45 秒
INTERVAL‘123 2:25:45.12’DAY(3)
TO SECOND(2)
時間間隔為 123 天零 2 小時 25 分 45.12 秒;天的精度是 3 位數字,秒的小數部分的精度是 2 位數字
INTERVAL‘3 2:00:45’DAY TO SECOND
時間間隔為 3 天 2 小時 0 分 45 秒
INTERVAL‘-3 2:25:45’DAY TO SECOND
時間間隔為負數,值為 3 天零 2 小時 25 分 45 秒
INTERVAL‘1234 2:25:45’DAY(3)
TO SECOND
時間間隔無效,因為天的位數超過了指定的精度 3
INTERVAL‘123 2:25:45.123’DAY
TO SECOND(2)
時間間隔無效,因為秒的小數部分的位數超過了指定的精度 2
下面這個 INSERT 語句向 promotions 表添加一行記錄:
INSERT INTO promotions (promotion_id, name, duration)
VALUES (1, 10% off Z Files , INTERVAL 3 DAY);
INSERT INTO promotions (promotion_id, name, duration)
VALUES (2, 20% off Pop 3 , INTERVAL 2 HOUR);
INSERT INTO promotions (promotion_id, name, duration)
VALUES (3, 30% off Modern Science , INTERVAL 25 MINUTE);
INSERT INTO promotions (promotion_id, name, duration)
VALUES (4, 20% off Tank War , INTERVAL 45 SECOND);
INSERT INTO promotions (promotion_id, name, duration)
VALUES (5, 10% off Chemistry , INTERVAL 3 2:25 DAY TO MINUTE);
INSERT INTO promotions (promotion_id, name, duration)
VALUES (6, 20% off Creative Yell , INTERVAL 3 2:25:45 DAY TO SECOND);
INSERT INTO promotions (promotion_id, name, duration)
VALUES (7, 15% off My Front Line ,
INTERVAL 123 2:25:45.12 DAY(3) TO SECOND(2));
下面這個查詢對 promotions 表進行檢索,注意 duration 列值的格式化:
SELECT *
FROM promotions;
PROMOTION_ID NAME DURATION
———— —————————— ——————
1 10% off Z Files +003 00:00:00.0000
2 20% off Pop 3 +000 02:00:00.0000
3 30% off Modern Science +000 00:25:00.0000
4 20% off Tank War +000 00:00:45.0000
5 10% off Chemistry +003 02:25:00.0000
6 20% off Creative Yell +003 02:25:45.0000
7 15% off My Front Line +123 02:25:45.1200
關于 INTERVAL DAY TO SECOND 數據類型是怎樣的呢就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。