DiagramDB / Snowflake SQL Validator

Snowflake SQL Validator

Validate Snowflake SQL syntax, including QUALIFY, :: casts, semi-structured paths and Snowflake functions.

Snowflake errors this catches, and how to fix them

  • Case of quoted identifiers. Unquoted names are stored in UPPERCASE; "orders" in quotes is a different object from ORDERS.
  • Variant paths. Access JSON with col:field::string. Forgetting the cast leaves values as VARIANT.

Need to move this query to another database? The SQL dialect converter rewrites it and lists every change. To make it readable first, use the SQL formatter.

Other dialects

MySQL Syntax Checker · PostgreSQL Syntax Checker · SQL Server Syntax Checker · SQLite Syntax Checker · MariaDB Syntax Checker · BigQuery SQL Validator · Redshift SQL Validator · All dialects

Questions

Is this Snowflake syntax checker free and private?

Yes. The Snowflake grammar is downloaded once and your SQL is parsed in the browser, so nothing is uploaded. Only the optional “Explain & fix with AI” button sends the failing statement to an AI model.

Does it check that my Snowflake tables and columns exist?

No. It checks syntax only, because it never connects to your database. Valid statements list the tables and columns they reference so you can compare them yourself; EXPLAIN on a development database checks the names for real.

Which Snowflake versions are covered?

The grammar comes from the open-source node-sql-parser project and targets current Snowflake syntax. Very new features or vendor extensions can be flagged as errors even when the server accepts them; confirm those with the official Snowflake documentation.

Why does Snowflake reject case of quoted identifiers?

Unquoted names are stored in UPPERCASE; "orders" in quotes is a different object from ORDERS.

Why does Snowflake reject variant paths?

Access JSON with col:field::string. Forgetting the cast leaves values as VARIANT.

Related tools