At a glance
| Area | Databricks SQL | BigQuery | Snowflake |
|---|---|---|---|
| Object naming | catalog.schema.table | project.dataset.table | database.schema.table |
| SQL dialect | Based on Spark SQL | GoogleSQL | Snowflake SQL |
| Data types | Spark-compatible types | GoogleSQL types | Snowflake types |
| Query execution | Runs on Databricks compute clusters or SQL warehouses | Runs on BigQuery managed execution | Runs on Snowflake virtual warehouses |
| Array indexing | 1-based | 0-based using offset | 0-based |
| Regex engine | Java regex | RE2 | POSIX extended regular expressions |
| Casting behavior | cast, with some function-specific workarounds | cast and safe_cast | cast, try_cast, and other try_ conversion functions |
| Function naming | Examples: substring, locate, date_format | Examples: substr, strpos, format_datetime | Examples: substr, position, to_char |
Naming and object references
Different engines organize database objects differently. Databricks SQL typically references tables using:Functions and generated SQL
Most imported workflows keep the same pipeline structure across engines, but generated SQL functions can differ. Common differences include:- Date and timestamp parsing or formatting functions.
- String and regex functions.
- Safe casting functions.
- Array access and positional logic.
| Engine | Example function |
|---|---|
| Databricks SQL | date_format |
| BigQuery | format_datetime or format_timestamp |
| Snowflake | to_char |
Array indexing and positional logic
Array indexing differs across engines:| Engine | Array indexing |
|---|---|
| Databricks SQL | 1-based |
| BigQuery | 0-based using offset |
| Snowflake | 0-based |
GetVal, GetPart, GetWord, or TOPNIDX. Snowflake array position functions return 0-based positions. (Snowflake Docs)
Regex behavior
Regex support differs by engine:| Engine | Regex behavior |
|---|---|
| Databricks SQL | Java regex |
| BigQuery | RE2 |
| Snowflake | POSIX extended regular expressions |
LIKE pattern syntax. (Snowflake Docs)
If a workflow relies on advanced regex features, validate the generated SQL in the target engine.
Type coercion and casting
All supported engines support explicit casting, but error handling and supported conversions differ.| Engine | Casting behavior |
|---|---|
| Databricks SQL | Uses cast; some Alteryx conversions require function-specific workarounds. |
| BigQuery | Supports cast and safe_cast; safe_cast returns null instead of failing. |
| Snowflake | Supports cast, try_cast, and other error-handling conversion functions. |
try_cast returns null instead of raising an error when a supported conversion fails. (Snowflake Docs)
See Data type mapping for details on how Alteryx data types translate into each SQL dialect.
Date and time behavior
Date and timestamp handling may vary across SQL engines. Potential differences include:- Default timezone behavior.
- Timestamp precision.
- Timestamp type variants.
- Function names and argument order.
- Format pattern syntax.
NULL handling and comparisons
SQL engines generally use standard SQL null semantics, but behavior can still differ in specific expressions or generated functions. Examples to watch for include:- Ordering behavior for
nullvalues inorder by. - Conditional expressions involving
null. - Safe casting functions that return
nullinstead of errors. - Functions that ignore
nullvalues by default, such as aggregates.
Table creation and write behavior
Imported workflows may create or overwrite tables depending on Target gem configuration. Table creation behavior can differ by engine:| Engine | Common considerations |
|---|---|
| Databricks SQL | Supports create or replace table; object references may include catalog and schema. |
| BigQuery | Requires project and dataset context; datasets may need to exist before writes. |
| Snowflake | Requires database and schema context; execution also depends on the active warehouse and permissions. |
Performance and cost considerations
Execution models differ across engines, which can affect runtime performance and cost.| Engine | Execution model |
|---|---|
| Databricks | Cluster or SQL warehouse based execution. Performance depends on compute configuration. |
| BigQuery | Managed execution environment. Cost is commonly driven by data scanned and query usage. |
| Snowflake | Virtual warehouse based execution. Cost and performance depend on warehouse size, runtime, and scaling configuration. |
What remains consistent
Despite dialect differences, most aspects of imported workflows remain the same:- Tool mappings from Alteryx to Prophecy gems remain largely consistent across engines.
- Pipeline structure and transformations remain unchanged.
- The Prophecy authoring experience is the same regardless of execution engine.

