mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-03 13:02:00 +00:00
Added tests for date_trunc function.
This commit is contained in:
parent
f3cfd39003
commit
fb06f59ceb
@ -124,4 +124,5 @@
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDate('2017-01-01') + number % 1000 + rand() % 10 AS t, {date_transform}(t))</query>
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, {binary_function}(t, 1))</query>
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, toStartOfInterval(t, INTERVAL 1 month))</query>
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, date_trunc('month', t))</query>
|
||||
</test>
|
||||
|
@ -37,4 +37,5 @@
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDate('2017-01-01') + number % 1000 + rand() % 10 AS t, {date_transform}(t))</query>
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, {binary_function}(t, 1))</query>
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, toStartOfInterval(t, INTERVAL 1 month))</query>
|
||||
<query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toDateTime('2017-01-01 00:00:00') + number % 100000000 + rand() % 100000 AS t, date_trunc('month', t))</query>
|
||||
</test>
|
||||
|
@ -226,6 +226,7 @@ toDate
|
||||
2014-09-30
|
||||
2014-10-01
|
||||
2014-09-30
|
||||
2014-09-30
|
||||
toString
|
||||
2015-07-15 13:30:00
|
||||
2015-07-15 12:30:00
|
||||
@ -243,3 +244,57 @@ toUnixTimestamp
|
||||
1426415400
|
||||
1426415400
|
||||
1426415400
|
||||
date_trunc
|
||||
2019-01-01
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2019-10-01
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2019-12-01
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2019-12-30
|
||||
2019-12-30
|
||||
2019-12-30
|
||||
2019-12-31 00:00:00
|
||||
2020-01-01 00:00:00
|
||||
2020-01-02 00:00:00
|
||||
2019-12-31 20:00:00
|
||||
2020-01-01 12:00:00
|
||||
2020-01-02 05:00:00
|
||||
2019-12-31 20:11:00
|
||||
2020-01-01 12:11:00
|
||||
2020-01-02 05:11:00
|
||||
2019-12-31 20:11:22
|
||||
2020-01-01 12:11:22
|
||||
2020-01-02 05:11:22
|
||||
2019-01-01
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2019-10-01
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2019-12-01
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2019-12-30
|
||||
2019-12-30
|
||||
2019-12-30
|
||||
2019-12-31 00:00:00
|
||||
2020-01-01 00:00:00
|
||||
2020-01-02 00:00:00
|
||||
2019-12-31 20:00:00
|
||||
2020-01-01 12:00:00
|
||||
2020-01-02 05:00:00
|
||||
2019-12-31 20:11:00
|
||||
2020-01-01 12:11:00
|
||||
2020-01-02 05:11:00
|
||||
2019-12-31 20:11:22
|
||||
2020-01-01 12:11:22
|
||||
2020-01-02 05:11:22
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2020-01-01
|
||||
2019-12-30
|
||||
2020-01-01 00:00:00
|
||||
|
@ -321,6 +321,8 @@ SELECT toDate(1412106600, 'Europe/London');
|
||||
SELECT toDate(1412106600, 'Asia/Tokyo');
|
||||
SELECT toDate(1412106600, 'Pacific/Pitcairn');
|
||||
|
||||
SELECT toDate(16343);
|
||||
|
||||
/* toString */
|
||||
|
||||
SELECT 'toString';
|
||||
@ -344,3 +346,63 @@ SELECT toUnixTimestamp(toString(toDateTime(1426415400), 'Europe/Paris'), 'Europe
|
||||
SELECT toUnixTimestamp(toString(toDateTime(1426415400), 'Europe/London'), 'Europe/London');
|
||||
SELECT toUnixTimestamp(toString(toDateTime(1426415400), 'Asia/Tokyo'), 'Asia/Tokyo');
|
||||
SELECT toUnixTimestamp(toString(toDateTime(1426415400), 'Pacific/Pitcairn'), 'Pacific/Pitcairn');
|
||||
|
||||
/* date_trunc */
|
||||
|
||||
SELECT 'date_trunc';
|
||||
|
||||
SELECT date_trunc('year', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('year', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('year', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('quarter', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('quarter', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('quarter', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('month', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('month', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('month', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('week', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('week', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('week', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('day', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('day', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('day', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('hour', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('hour', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('hour', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('minute', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('minute', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('minute', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('second', toDateTime('2020-01-01 04:11:22', 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('second', toDateTime('2020-01-01 12:11:22', 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('second', toDateTime('2020-01-01 20:11:22', 'Europe/London'), 'Asia/Tokyo');
|
||||
|
||||
SELECT date_trunc('year', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('year', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('year', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('quarter', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('quarter', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('quarter', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('month', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('month', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('month', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('week', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('week', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('week', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('day', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('day', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('day', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('hour', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('hour', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('hour', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('minute', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('minute', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('minute', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
SELECT date_trunc('second', toDateTime64('2020-01-01 04:11:22.123', 3, 'Europe/London'), 'America/Vancouver');
|
||||
SELECT date_trunc('second', toDateTime64('2020-01-01 12:11:22.123', 3, 'Europe/London'), 'Europe/London');
|
||||
SELECT date_trunc('second', toDateTime64('2020-01-01 20:11:22.123', 3, 'Europe/London'), 'Asia/Tokyo');
|
||||
|
||||
SELECT date_trunc('year', toDate('2020-01-01', 'Europe/London'));
|
||||
SELECT date_trunc('quarter', toDate('2020-01-01', 'Europe/London'));
|
||||
SELECT date_trunc('month', toDate('2020-01-01', 'Europe/London'));
|
||||
SELECT date_trunc('week', toDate('2020-01-01', 'Europe/London'));
|
||||
SELECT date_trunc('day', toDate('2020-01-01', 'Europe/London'), 'America/Vancouver');
|
||||
|
@ -35,6 +35,10 @@ toStartOfInterval(N, INTERVAL 1 year)
|
||||
toStartOfInterval(N, INTERVAL 1 month)
|
||||
toStartOfInterval(N, INTERVAL 1 day)
|
||||
toStartOfInterval(N, INTERVAL 15 minute)
|
||||
date_trunc('year', N)
|
||||
date_trunc('month', N)
|
||||
date_trunc('day', N)
|
||||
date_trunc('minute', N)
|
||||
toTime(N)
|
||||
toRelativeYearNum(N)
|
||||
toRelativeQuarterNum(N)
|
||||
|
@ -143,6 +143,27 @@ Code: 43: Illegal type Date of argument for function toStartOfInterval.
|
||||
"DateTime('Europe/Minsk')","2019-09-16 19:15:00"
|
||||
"DateTime('Europe/Minsk')","2019-09-16 19:15:00"
|
||||
------------------------------------------
|
||||
SELECT date_trunc(\'year\', N)
|
||||
"Date","2019-01-01"
|
||||
"Date","2019-01-01"
|
||||
"Date","2019-01-01"
|
||||
------------------------------------------
|
||||
SELECT date_trunc(\'month\', N)
|
||||
"Date","2019-09-01"
|
||||
"Date","2019-09-01"
|
||||
"Date","2019-09-01"
|
||||
------------------------------------------
|
||||
SELECT date_trunc(\'day\', N)
|
||||
"DateTime","2019-09-16 00:00:00"
|
||||
"DateTime('Europe/Minsk')","2019-09-16 00:00:00"
|
||||
"DateTime('Europe/Minsk')","2019-09-16 00:00:00"
|
||||
------------------------------------------
|
||||
SELECT date_trunc(\'minute\', N)
|
||||
|
||||
Code: 43: Illegal type Date of argument for function date_trunc.
|
||||
"DateTime('Europe/Minsk')","2019-09-16 19:20:00"
|
||||
"DateTime('Europe/Minsk')","2019-09-16 19:20:00"
|
||||
------------------------------------------
|
||||
SELECT toTime(N)
|
||||
|
||||
Code: 43: Illegal type Date of argument for function toTime.
|
||||
|
Loading…
Reference in New Issue
Block a user