mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 16:12:01 +00:00
46 lines
1.9 KiB
SQL
46 lines
1.9 KiB
SQL
DROP TABLE IF EXISTS test;
|
|
|
|
CREATE TABLE test (timestamp DateTime('UTC'), i UInt8) Engine=MergeTree() PARTITION BY toYYYYMM(timestamp) ORDER BY (i);
|
|
INSERT INTO test values ('2020-05-13 16:38:45', 1);
|
|
|
|
SELECT
|
|
toTimeZone(timestamp, 'America/Sao_Paulo') AS converted,
|
|
timestamp AS original
|
|
FROM test
|
|
LEFT JOIN (SELECT 2 AS x) AS anything ON x = i
|
|
WHERE timestamp >= toDateTime('2020-05-13T00:00:00', 'America/Sao_Paulo');
|
|
|
|
/* This was incorrect result in previous ClickHouse versions:
|
|
┌─converted───────────┬─original────────────┐
|
|
│ 2020-05-13 16:38:45 │ 2020-05-13 16:38:45 │ <-- toTimeZone is ignored.
|
|
└─────────────────────┴─────────────────────┘
|
|
*/
|
|
|
|
SELECT
|
|
toTimeZone(timestamp, 'America/Sao_Paulo') AS converted,
|
|
timestamp AS original
|
|
FROM test
|
|
-- LEFT JOIN (SELECT 2 AS x) AS anything ON x = i -- Removing the join fixes the issue.
|
|
WHERE timestamp >= toDateTime('2020-05-13T00:00:00', 'America/Sao_Paulo');
|
|
|
|
/*
|
|
┌─converted───────────┬─original────────────┐
|
|
│ 2020-05-13 13:38:45 │ 2020-05-13 16:38:45 │ <-- toTimeZone works.
|
|
└─────────────────────┴─────────────────────┘
|
|
*/
|
|
|
|
SELECT
|
|
toTimeZone(timestamp, 'America/Sao_Paulo') AS converted,
|
|
timestamp AS original
|
|
FROM test
|
|
LEFT JOIN (SELECT 2 AS x) AS anything ON x = i
|
|
WHERE timestamp >= '2020-05-13T00:00:00'; -- Not using toDateTime in the WHERE also fixes the issue.
|
|
|
|
/*
|
|
┌─converted───────────┬─original────────────┐
|
|
│ 2020-05-13 13:38:45 │ 2020-05-13 16:38:45 │ <-- toTimeZone works.
|
|
└─────────────────────┴─────────────────────┘
|
|
*/
|
|
|
|
DROP TABLE test;
|