content/flux/v0/query-data/sql/snowflake.md
To query Snowflake with Flux:
Import the sql package.
Use sql.from() and provide the following parameters:
import "sql"
sql.from(
driverName: "snowflake",
dataSourceName: "user:password@account/db/exampleschema?warehouse=wh",
query: "SELECT * FROM example_table",
)
The snowflake driver uses the following DSN syntaxes (also known as a connection string):
username[:password]@accountname/dbname/schemaname?param1=value1¶mN=valueN
username[:password]@accountname/dbname?param1=value1¶mN=valueN
username[:password]@hostname:port/dbname/schemaname?account=<your_account>¶m1=value1¶mN=valueN
sql.from() converts Snowflake data types to Flux data types.
| Snowflake data type | Flux data type |
|---|---|
| FIXED, NUMBER | int or float (depending on decimal size) |
| REAL, FLOAT | float |
| TIMESTAMP_TZ, TIMESTAMP_LTZ | time |
| BOOLEAN | bool |
{{% caption %}} All other Snowflake data types (including TIMESTAMP_NTZ, DATE and TIME) are converted to strings. {{% /caption %}}