136 lines
1.7 KiB
SQL
136 lines
1.7 KiB
SQL
# name: test/sql/function/date/test_extract.test
|
|
# description: Extract function
|
|
# group: [date]
|
|
|
|
statement ok
|
|
PRAGMA enable_verification
|
|
|
|
statement ok
|
|
CREATE TABLE dates(i DATE)
|
|
|
|
statement ok
|
|
INSERT INTO dates VALUES ('1993-08-14'), (NULL)
|
|
|
|
# extract various parts of the date
|
|
# year
|
|
query I
|
|
SELECT EXTRACT(year FROM i) FROM dates
|
|
----
|
|
1993
|
|
NULL
|
|
|
|
# month
|
|
query I
|
|
SELECT EXTRACT(month FROM i) FROM dates
|
|
----
|
|
8
|
|
NULL
|
|
|
|
# quarter
|
|
query I
|
|
SELECT EXTRACT(quarter FROM i) FROM dates
|
|
----
|
|
3
|
|
NULL
|
|
|
|
# day
|
|
query I
|
|
SELECT EXTRACT(day FROM i) FROM dates
|
|
----
|
|
14
|
|
NULL
|
|
|
|
# decade
|
|
query I
|
|
SELECT EXTRACT(decade FROM i) FROM dates
|
|
----
|
|
199
|
|
NULL
|
|
|
|
# century
|
|
query I
|
|
SELECT EXTRACT(century FROM i) FROM dates
|
|
----
|
|
20
|
|
NULL
|
|
|
|
# day of the week (Sunday = 0, Saturday = 6)
|
|
query I
|
|
SELECT EXTRACT(DOW FROM i) FROM dates
|
|
----
|
|
6
|
|
NULL
|
|
|
|
# day of the year (1 - 365/366)
|
|
query I
|
|
SELECT EXTRACT(DOY FROM i) FROM dates
|
|
----
|
|
226
|
|
NULL
|
|
|
|
# epoch
|
|
query I
|
|
SELECT EXTRACT(epoch FROM i) FROM dates
|
|
----
|
|
745286400
|
|
NULL
|
|
|
|
# isodow (Monday = 1, Sunday = 7)
|
|
query I
|
|
SELECT EXTRACT(ISODOW FROM i) FROM dates
|
|
----
|
|
6
|
|
NULL
|
|
|
|
# week (1-53)
|
|
query I
|
|
SELECT EXTRACT(WEEK FROM i) FROM dates
|
|
----
|
|
32
|
|
NULL
|
|
|
|
# yearweek (YYYYWW)
|
|
query I
|
|
SELECT EXTRACT(YEARWEEK FROM i) FROM dates
|
|
----
|
|
199332
|
|
NULL
|
|
|
|
# millennium (change of millennium is January 1, X001)
|
|
query I
|
|
SELECT EXTRACT(millennium FROM i) FROM dates
|
|
----
|
|
2
|
|
NULL
|
|
|
|
# timestamp variants all give 0 for date
|
|
query I
|
|
SELECT EXTRACT(second FROM i) FROM dates
|
|
----
|
|
0
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(minute FROM i) FROM dates
|
|
----
|
|
0
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(hour FROM i) FROM dates
|
|
----
|
|
0
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(milliseconds FROM i) FROM dates
|
|
----
|
|
0
|
|
NULL
|
|
|
|
query I
|
|
SELECT EXTRACT(microsecond FROM i) FROM dates
|
|
----
|
|
0
|
|
NULL
|