關於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
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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26870952/viewspace-2151392/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle INTERVAL DAY TO SECOND資料型別Oracle資料型別
- Oracle INTERVAL YEAR TO MONTH 和INTERVAL DAY TO SECOND 資料型別Oracle資料型別
- [20170315]資料型別interval day to second資料型別
- Interval資料型別資料型別
- 關於timestamp資料型別資料型別
- day05 資料型別資料型別
- 關於 PHP 的資料型別 (一)PHP資料型別
- 關於 PHP 的資料型別 (二)PHP資料型別
- 關於 PHP 的資料型別 (三)PHP資料型別
- 關於oracle中的sql資料型別OracleSQL資料型別
- DATE型別INTERVAL分割槽型別
- 關於interval partitioning
- day 4 – 2 資料型別練習資料型別
- Python day02- 資料型別Python資料型別
- 關於0轉成null時資料型別Null資料型別
- 時間型別interval year to month型別
- Day02——Python基本資料型別Python資料型別
- 聊一下關於判斷資料型別資料型別
- 關於SQL Server 中的25種資料型別SQLServer資料型別
- 關於Sql server資料型別HierarchyID 資料型別用法和遞迴顯示完整路徑SQLServer資料型別遞迴
- oracle下interval型別的用法總結Oracle型別
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- [轉]ABAP資料型別與Java資料型別的對應關係資料型別Java
- day02 go的資料型別和運算子Go資料型別
- 關係型資料庫和非關係型資料庫的區別資料庫
- 關於資料庫中的型別和entity bean裡面的型別對應問題資料庫型別Bean
- 走近VB.Net(四) 關於資料型別與示例 (轉)資料型別
- 關於cin能識別輸入的資料型別(過載操作符&型別轉換)資料型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- 資料型別: 資料型別有哪些?資料型別
- MYSQL資料庫型別與JAVA型別對應關係MySql資料庫型別Java
- Mysql 基礎資料型別(無時間相關型別)MySql資料型別
- 關鍵字、資料型別、識別符號資料型別符號
- 強資料型別和弱資料型別資料型別
- 區別值型別資料和引用型別資料型別
- SQL Server 2005 資料型別和.Net資料型別的對應關係SQLServer資料型別
- day 7 – 1 集合、copy及基礎資料型別彙總資料型別
- 非關係型資料庫(NOSQL)和關係型資料庫(SQL)區別詳解資料庫SQL