Skip to content

Commit ee4f01a

Browse files
authored
[Snowflake] Support of cast expr (#3825)
1 parent b107d5c commit ee4f01a

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

sql/snowflake/SnowflakeParser.g4

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3636,6 +3636,7 @@ builtin_function
36363636
| IDENTIFIER
36373637
| FLATTEN
36383638
| SPLIT_TO_TABLE
3639+
| CAST
36393640
;
36403641

36413642
list_operator
@@ -3740,7 +3741,7 @@ expr
37403741
// | expr time_zone
37413742
| expr COLON_COLON data_type //cast
37423743
| expr over_clause
3743-
| CAST LR_BRACKET expr AS data_type RR_BRACKET
3744+
| cast_expr
37443745
| json_literal
37453746
| binary_builtin_function LR_BRACKET expr COMMA expr RR_BRACKET
37463747
| binary_or_ternary_builtin_function LR_BRACKET expr COMMA expr (COMMA expr)* RR_BRACKET
@@ -3767,6 +3768,10 @@ try_cast_expr
37673768
: TRY_CAST LR_BRACKET expr AS data_type RR_BRACKET
37683769
;
37693770

3771+
cast_expr
3772+
: CAST LR_BRACKET expr AS data_type RR_BRACKET
3773+
;
3774+
37703775
json_literal
37713776
: LCB kv_pair (COMMA kv_pair)* RCB
37723777
| LCB RCB

sql/snowflake/examples/select.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ SELECT IFNULL(DATEADD(DAY, -1, CAST(ColDate as date)), CAST('2999-12-31' as date
1616
SELECT RES FROM (SELECT LEFT('COL1',1) AS RES UNION SELECT RIGHT('COL1',1)) as TableRes;
1717
SELECT to_date(select dateadd(d,-((date_part(dw,getdate())+1)%7+1),getdate())) AS Res;
1818
SELECT TRY_CAST("150" as INT);
19+
SELECT CAST("150" as INT);
1920
SELECT LEN(COL1), LENGTH (COL2) from t;
2021
SELECT REPLACE('abcd', 'bc'), CHARINDEX('abcd','c') F;
2122
SELECT * FROM (SELECT 1 as col1 ,'FuturCol2' as col2 union SELECT 2,'FuturCol3') PIVOT (sum(col1) FOR col2 in ('FuturCol2','FuturCol3'));

0 commit comments

Comments
 (0)