From 85de28c06e60e97d15417a1e0f84aa5982641662 Mon Sep 17 00:00:00 2001 From: M Lorek Date: Tue, 23 Jan 2024 16:39:04 +0000 Subject: [PATCH] snowflake - alt cast (#3929) * snowflake - alt cast * no python target --- sql/snowflake/SnowflakeParser.g4 | 1 + sql/snowflake/desc.xml | 5 +++-- sql/snowflake/examples/alt_cast.sql | 9 +++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 sql/snowflake/examples/alt_cast.sql diff --git a/sql/snowflake/SnowflakeParser.g4 b/sql/snowflake/SnowflakeParser.g4 index 382d123bd0..817d760b4e 100644 --- a/sql/snowflake/SnowflakeParser.g4 +++ b/sql/snowflake/SnowflakeParser.g4 @@ -3701,6 +3701,7 @@ try_cast_expr cast_expr : CAST LR_BRACKET expr AS data_type RR_BRACKET + | (TIMESTAMP | DATE | TIME) expr ; json_literal diff --git a/sql/snowflake/desc.xml b/sql/snowflake/desc.xml index c54b99b532..a58ac56f10 100644 --- a/sql/snowflake/desc.xml +++ b/sql/snowflake/desc.xml @@ -1,5 +1,6 @@ - ^4.10 - CSharp;Cpp;Dart;Java;JavaScript;Python3 + ^4.10 + CSharp;Cpp;Dart;Java;JavaScript + diff --git a/sql/snowflake/examples/alt_cast.sql b/sql/snowflake/examples/alt_cast.sql new file mode 100644 index 0000000000..bcba0aa998 --- /dev/null +++ b/sql/snowflake/examples/alt_cast.sql @@ -0,0 +1,9 @@ +with t as ( + select current_time() as ct, current_date() as cd, current_timestamp() as cts +) +select * +from t +where + ct > TIME '0:0:0' or + cd > DATE '2024-01-01' or + cts > TIMESTAMP '2024-01-01 0:0:0';