diff --git a/sqlglot/dialects/snowflake.py b/sqlglot/dialects/snowflake.py index 3cdb8b0dee..2909d8308f 100644 --- a/sqlglot/dialects/snowflake.py +++ b/sqlglot/dialects/snowflake.py @@ -540,6 +540,7 @@ class Snowflake(Dialect): exp.AIAgg, exp.AIClassify, exp.AISummarizeAgg, + exp.Chr, exp.Collate, exp.RegexpExtract, exp.RegexpReplace, diff --git a/tests/dialects/test_snowflake.py b/tests/dialects/test_snowflake.py index b4bcdf50a6..f79614137c 100644 --- a/tests/dialects/test_snowflake.py +++ b/tests/dialects/test_snowflake.py @@ -34,6 +34,7 @@ def test_snowflake(self): "SELECT BASE64_DECODE_BINARY('SGVsbG8=', 'ABCDEFGHwxyz0123456789+/')" ) + self.validate_identity("SELECT CHR(8364)") self.validate_identity("SELECT {*} FROM my_table") self.validate_identity("SELECT {my_table.*} FROM my_table") self.validate_identity("SELECT {* ILIKE 'col1%'} FROM my_table") diff --git a/tests/fixtures/optimizer/annotate_functions.sql b/tests/fixtures/optimizer/annotate_functions.sql index 5c1d584812..74207661eb 100644 --- a/tests/fixtures/optimizer/annotate_functions.sql +++ b/tests/fixtures/optimizer/annotate_functions.sql @@ -1583,6 +1583,14 @@ INT; CHARINDEX('world', 'hello world', 1); INT; +# dialect: snowflake +CHAR(65); +VARCHAR; + +# dialect: snowflake +CHR(8364); +VARCHAR; + # dialect: snowflake COLLATE('hello', 'utf8'); VARCHAR;