mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-04 05:22:17 +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(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, {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, 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>
|
</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(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, {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, 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>
|
</test>
|
||||||
|
@ -226,6 +226,7 @@ toDate
|
|||||||
2014-09-30
|
2014-09-30
|
||||||
2014-10-01
|
2014-10-01
|
||||||
2014-09-30
|
2014-09-30
|
||||||
|
2014-09-30
|
||||||
toString
|
toString
|
||||||
2015-07-15 13:30:00
|
2015-07-15 13:30:00
|
||||||
2015-07-15 12:30:00
|
2015-07-15 12:30:00
|
||||||
@ -243,3 +244,57 @@ toUnixTimestamp
|
|||||||
1426415400
|
1426415400
|
||||||
1426415400
|
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, 'Asia/Tokyo');
|
||||||
SELECT toDate(1412106600, 'Pacific/Pitcairn');
|
SELECT toDate(1412106600, 'Pacific/Pitcairn');
|
||||||
|
|
||||||
|
SELECT toDate(16343);
|
||||||
|
|
||||||
/* toString */
|
/* toString */
|
||||||
|
|
||||||
SELECT '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), 'Europe/London'), 'Europe/London');
|
||||||
SELECT toUnixTimestamp(toString(toDateTime(1426415400), 'Asia/Tokyo'), 'Asia/Tokyo');
|
SELECT toUnixTimestamp(toString(toDateTime(1426415400), 'Asia/Tokyo'), 'Asia/Tokyo');
|
||||||
SELECT toUnixTimestamp(toString(toDateTime(1426415400), 'Pacific/Pitcairn'), 'Pacific/Pitcairn');
|
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 month)
|
||||||
toStartOfInterval(N, INTERVAL 1 day)
|
toStartOfInterval(N, INTERVAL 1 day)
|
||||||
toStartOfInterval(N, INTERVAL 15 minute)
|
toStartOfInterval(N, INTERVAL 15 minute)
|
||||||
|
date_trunc('year', N)
|
||||||
|
date_trunc('month', N)
|
||||||
|
date_trunc('day', N)
|
||||||
|
date_trunc('minute', N)
|
||||||
toTime(N)
|
toTime(N)
|
||||||
toRelativeYearNum(N)
|
toRelativeYearNum(N)
|
||||||
toRelativeQuarterNum(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"
|
||||||
"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)
|
SELECT toTime(N)
|
||||||
|
|
||||||
Code: 43: Illegal type Date of argument for function toTime.
|
Code: 43: Illegal type Date of argument for function toTime.
|
||||||
|
Loading…
Reference in New Issue
Block a user