diff options
author | Daniel Baumann <mail@daniel-baumann.ch> | 2023-12-10 10:45:55 +0000 |
---|---|---|
committer | Daniel Baumann <mail@daniel-baumann.ch> | 2023-12-10 10:45:55 +0000 |
commit | 02df6cdb000c8dbf739abda2af321a4f90d1b059 (patch) | |
tree | 2fc1daf848082ff67a11e60025cac260e3c318b2 /tests/fixtures/optimizer/simplify.sql | |
parent | Adding upstream version 19.0.1. (diff) | |
download | sqlglot-02df6cdb000c8dbf739abda2af321a4f90d1b059.tar.xz sqlglot-02df6cdb000c8dbf739abda2af321a4f90d1b059.zip |
Adding upstream version 20.1.0.upstream/20.1.0
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'tests/fixtures/optimizer/simplify.sql')
-rw-r--r-- | tests/fixtures/optimizer/simplify.sql | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/tests/fixtures/optimizer/simplify.sql b/tests/fixtures/optimizer/simplify.sql index f50f688..2206e28 100644 --- a/tests/fixtures/optimizer/simplify.sql +++ b/tests/fixtures/optimizer/simplify.sql @@ -43,6 +43,9 @@ TRUE; 1.0 = 1; TRUE; +CAST('2023-01-01' AS DATE) = CAST('2023-01-01' AS DATE); +TRUE; + 'x' = 'y'; FALSE; @@ -360,6 +363,15 @@ x * (1 - y); (1.0 * 3) * 4 - 2 * (5 / 2); 12.0 - 2 * (5 / 2); +a * 0.5 / 10 / (2.0 + 3); +a * 0.5 / 10 / 5.0; + +a * 0.5 - 10 - (2.0 + 3); +a * 0.5 - 10 - 5.0; + +x * (10 - 5); +x * 5; + 6 - 2 + 4 * 2 + a; 12 + a; @@ -414,6 +426,9 @@ FALSE; 1 IS NOT NULL; TRUE; +date '1998-12-01' - interval x day; +CAST('1998-12-01' AS DATE) - INTERVAL x day; + date '1998-12-01' - interval '90' day; CAST('1998-09-02' AS DATE); @@ -447,6 +462,24 @@ CAST(x AS DATETIME) + INTERVAL '1' week; TS_OR_DS_TO_DATE('1998-12-01 00:00:01') - interval '90' day; CAST('1998-09-02' AS DATE); +DATE_ADD(CAST('2023-01-02' AS DATE), -2, 'MONTH'); +CAST('2022-11-02' AS DATE); + +DATE_SUB(CAST('2023-01-02' AS DATE), 1 + 1, 'DAY'); +CAST('2022-12-31' AS DATE); + +DATE_ADD(CAST('2023-01-02' AS DATETIME), -2, 'HOUR'); +CAST('2023-01-01 22:00:00' AS DATETIME); + +DATETIME_ADD(CAST('2023-01-02' AS DATETIME), -2, 'HOUR'); +CAST('2023-01-01 22:00:00' AS DATETIME); + +DATETIME_SUB(CAST('2023-01-02' AS DATETIME), 1 + 1, 'HOUR'); +CAST('2023-01-01 22:00:00' AS DATETIME); + +DATE_ADD(x, 1, 'MONTH'); +DATE_ADD(x, 1, 'MONTH'); + -------------------------------------- -- Comparisons -------------------------------------- @@ -663,6 +696,15 @@ ROW() OVER () = 1 OR ROW() OVER () IS NULL; a AND b AND COALESCE(ROW() OVER (), 1) = 1; a AND b AND (ROW() OVER () = 1 OR ROW() OVER () IS NULL); +COALESCE(1, 2); +1; + +COALESCE(CAST(CAST('2023-01-01' AS TIMESTAMP) AS DATE), x); +CAST(CAST('2023-01-01' AS TIMESTAMP) AS DATE); + +COALESCE(CAST(NULL AS DATE), x); +COALESCE(CAST(NULL AS DATE), x); + -------------------------------------- -- CONCAT -------------------------------------- @@ -673,7 +715,7 @@ CONCAT_WS(sep, x, y); CONCAT_WS(sep, x, y); CONCAT(x); -x; +CONCAT(x); CONCAT('a', 'b', 'c'); 'abc'; @@ -776,6 +818,9 @@ x >= CAST('2022-01-01' AS DATE); DATE_TRUNC('year', x) > TS_OR_DS_TO_DATE(TS_OR_DS_TO_DATE('2021-01-02')); x >= CAST('2022-01-01' AS DATE); +DATE_TRUNC('year', x) > TS_OR_DS_TO_DATE(TS_OR_DS_TO_DATE('2021-01-02', '%Y')); +DATE_TRUNC('year', x) > TS_OR_DS_TO_DATE(TS_OR_DS_TO_DATE('2021-01-02', '%Y')); + -- right is not a date DATE_TRUNC('year', x) <> '2021-01-02'; DATE_TRUNC('year', x) <> '2021-01-02'; |