121 lines
1.6 KiB
SQL
121 lines
1.6 KiB
SQL
# name: test/sql/function/timestamp/test_extract.test
|
|
# description: Extract timestamp function
|
|
# group: [timestamp]
|
|
|
|
statement ok
|
|
PRAGMA enable_verification
|
|
|
|
statement ok
|
|
CREATE TABLE timestamps(i TIMESTAMP)
|
|
|
|
statement ok
|
|
INSERT INTO timestamps VALUES ('1993-08-14 08:22:33'), (NULL)
|
|
|
|
# extract various parts of the timestamp
|
|
query I
|
|
SELECT EXTRACT(year FROM i) FROM timestamps
|
|
----
|
|
1993
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(month FROM i) FROM timestamps
|
|
----
|
|
8
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(day FROM i) FROM timestamps
|
|
----
|
|
14
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(week FROM i) FROM timestamps
|
|
----
|
|
32
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(yearweek FROM i) FROM timestamps
|
|
----
|
|
199332
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(quarter FROM i) FROM timestamps
|
|
----
|
|
3
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(decade FROM i) FROM timestamps
|
|
----
|
|
199
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(century FROM i) FROM timestamps
|
|
----
|
|
20
|
|
NULL
|
|
|
|
# day of the week (Sunday = 0, Saturday = 6)
|
|
query I
|
|
SELECT EXTRACT(DOW FROM i) FROM timestamps
|
|
----
|
|
6
|
|
NULL
|
|
|
|
# day of the year (1 - 365/366)
|
|
query I
|
|
SELECT EXTRACT(DOY FROM i) FROM timestamps
|
|
----
|
|
226
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(epoch FROM i) FROM timestamps
|
|
----
|
|
745316553
|
|
NULL
|
|
|
|
# isodow (Monday = 1, Sunday = 7)
|
|
query I
|
|
SELECT EXTRACT(ISODOW FROM i) FROM timestamps
|
|
----
|
|
6
|
|
NULL
|
|
|
|
# millennium (change of millennium is January 1, X001)
|
|
query I
|
|
SELECT EXTRACT(millennium FROM i) FROM timestamps
|
|
----
|
|
2
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(second FROM i) FROM timestamps
|
|
----
|
|
33
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(minute FROM i) FROM timestamps
|
|
----
|
|
22
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(hour FROM i) FROM timestamps
|
|
----
|
|
8
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(milliseconds FROM i) FROM timestamps
|
|
----
|
|
33000
|
|
NULL
|
|
|