Files
email-tracker/external/duckdb/test/sql/function/timestamp/epoch.test
2025-10-24 19:21:19 -05:00

57 lines
1.4 KiB
SQL

# name: test/sql/function/timestamp/epoch.test
# description: Test epoch_ms function
# group: [timestamp]
query TTTTTT
SELECT
make_timestamp(0) as epoch1,
make_timestamp(1574802684123 * 1000) as epoch2,
make_timestamp(-291044928000 * 1000) as epoch3,
make_timestamp(-291081600000 * 1000) as epoch4,
make_timestamp(-291081600001 * 1000) as epoch5,
make_timestamp(-290995201000 * 1000) as epoch6
----
1970-01-01 00:00:00
2019-11-26 21:11:24.123
1960-10-11 10:11:12
1960-10-11 00:00:00
1960-10-10 23:59:59.999
1960-10-11 23:59:59
# MS version for replacing epoch_ms(bigint)
query TTTTTT
SELECT
make_timestamp_ms(0) as epoch1,
make_timestamp_ms(1574802684123) as epoch2,
make_timestamp_ms(-291044928000) as epoch3,
make_timestamp_ms(-291081600000) as epoch4,
make_timestamp_ms(-291081600001) as epoch5,
make_timestamp_ms(-290995201000) as epoch6
----
1970-01-01 00:00:00
2019-11-26 21:11:24.123
1960-10-11 10:11:12
1960-10-11 00:00:00
1960-10-10 23:59:59.999
1960-10-11 23:59:59
query IIII
SELECT to_timestamp(0), to_timestamp(1), to_timestamp(1574802684), to_timestamp(-1)
----
1970-01-01 00:00:00+00
1970-01-01 00:00:01+00
2019-11-26 21:11:24+00
1969-12-31 23:59:59+00
# Frational seconds in UTC
query I
SELECT to_timestamp(1284352323.5);
----
2010-09-13 04:32:03.5+00
# Coverage
statement error
SELECT to_timestamp(1284352323::DOUBLE * 100000000);
----
Conversion Error: Epoch seconds out of range for TIMESTAMP WITH TIME ZONE