Supported clauses
Set operations
Query parameters
Snowflake bind variables are written as:name (named) or :N (positional). Bind values with the query_parameters request property; see Parametrized queries for passing parameter values from different client SDKs, and the SQL guide for parameter value types. :N uses the same positional convention as $N (so :1 is bound as $1), which keeps positional binding uniform across dialects:
value:field) is the semi-structured accessor, not a parameter. Referencing a parameter that was not set raises an error.
Limitations
- Query parameters use the
:name/:Nbind form only.?positional parameters,$namesession variables, and@namestage references are not supported. - Fully qualified
database.schema.tablenames are not supported and fail withDatabase 'mydb' does not exist. Two-partschema.tablenames work. Most tool-generated Snowflake SQL is fully qualified, so this is usually the first thing a migrated workload hits. - Identifiers are returned in lower case. Snowflake folds unquoted identifiers to upper case, so a column selected as
ncomes back asNthere andnhere. A client that looks up result columns by name needs to be case-insensitive. $$-quoted string literals are not supported.FETCH FIRST ... ROWS ONLYis not supported; useLIMITwithOFFSET.MINUSis not accepted as a synonym forEXCEPT.