SnowConvert AI – BigQuery – Funktionale Unterschiede¶
Bemerkung
Konvertierungsbereich
SnowConvert AI für Google BigQuery unterstützt derzeit die Bewertung und Übersetzung vonTABLES und VIEWS. Obwohl SnowConvert AI andere Arten von Anweisungen erkennen kann, werden diese nicht vollständig unterstützt.
SSC-FDM-BQ0001¶
Der Zugriff auf Arrays erzeugt NULL anstelle eines Fehlers für positive Out-of-Bounds-Indizes in Snowflake.
Beschreibung¶
Wenn in Snowflake auf ein ARRAY-Objekt per Index zugegriffen wird und der angegebene Index größer als die Größe des Arrays ist, wird der Wert NULL zurückgegeben. Dies unterscheidet sich vom Verhalten in BigQuery, wo der Zugriff auf ein ARRAY mit einem ungültigen Index einen Fehler erzeugt – es sei denn, die Funktionen SAFE_OFFSET oder SAFE_ORDINAL werden verwendet.
Diese Warnung wird zu jedem ARRAY-Zugriff hinzugefügt, der nicht sicher ist.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
SELECT ([40, 12, 30])[8];
SELECT ([40, 12, 30])[SAFE_OFFSET(8)];
Generierter Code:¶
Snowflake¶
SELECT
--** SSC-FDM-BQ0001 - ACCESSING ARRAYS PRODUCES NULL INSTEAD OF AN ERROR FOR POSITIVE OUT OF BOUNDS INDEXES IN SNOWFLAKE **
([40, 12, 30])[8];
SELECT
PUBLIC.SAFE_OFFSET_UDF( ([40, 12, 30]), 8);
Best Practices¶
Analysieren Sie die Verwendung des Array-Zugriffs im Code. Wenn im ursprünglichen Code nie die Gefahr bestand, einen Fehler außerhalb der Grenzen zu erhalten, wird kein Unterschied festgestellt und diese Warnung kann sicher ignoriert werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0002¶
Ausnahme-Systemvariablen werden in Snowflake nicht unterstützt.
Beschreibung¶
Diese FDM wird hinzugefügt, wenn eine Anweisung Exception-Variablen in BigQuery referenziert, da diese in Snowflake nicht unterstützt werden und ihr Inhalt sich deutlich von den in Snowflake zulässigen Exception-Variablen unterscheidet. Weitere Informationen dazu finden Sie unter Behandeln von Ausnahmen in Snowflake.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
CREATE OR REPLACE PROCEDURE test.proc1()
BEGIN
SELECT 1/0;
EXCEPTION WHEN ERROR THEN
SELECT
@@error.message as message,
@@error.stack_trace as stack_trace,
@@error.statement_text as statement_text,
@@error.formatted_stack_trace as formatted_stack_trace;
END;
Ergebnis¶
[{
"message": "Query error: division by zero: 1 / 0 at [snowflake-snowconvert-team.test.proc1:2:3]",
"stack_trace": [{
"line": "2",
"column": "3",
"filename": null,
"location": "snowflake-snowconvert-team.test.proc1"
}, {
"line": "1",
"column": "1",
"filename": null,
"location": null
}],
"statement_text": "SELECT 1/0",
"formatted_stack_trace": "At snowflake-snowconvert-team.test.proc1[2:3]\nAt [1:1]\n"
}]
Generierter Code:¶
Snowflake¶
CREATE OR REPLACE PROCEDURE test.proc1 ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "bigquery", "convertedOn": "04/09/2025", "domain": "test" }}'
AS
$$
BEGIN
SELECT 1/0;
EXCEPTION WHEN OTHER THEN
-- --** SSC-FDM-BQ0002 - EXCEPTION SYSTEM VARIABLES ARE NOT SUPPORTED IN SNOWFLAKE. **
-- SELECT
-- @@error.message as message,
-- @@error.stack_trace as stack_trace,
-- @@error.statement_text as statement_text,
-- @@error.formatted_stack_trace as formatted_stack_trace;
RETURN OBJECT_CONSTRUCT('SQLERRM', SQLERRM, 'SQLCODE', SQLCODE, 'SQLSTATE', SQLSTATE);
END;
$$;
Ergebnis¶
{
"SQLCODE": 100051,
"SQLERRM": "Division by zero",
"SQLSTATE": "22012"
}
Best Practices¶
Snowflake verfügt über drei integrierte Variablen, die Informationen zu der Ausnahme liefern:
SQLSTATE: Dies ist ein 5-Zeichen-Code, der auf dem Standard ANSI SQL SQLSTATE basiert.
SQLERRM: Dies ist eine Fehlermeldung.
SQLCODE: Dies ist eine 5-stellige, vorzeichenbehaftete Ganzzahl.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0003¶
Nicht in der Lage, korrekte Klausel für die Rückgabetabelle zu generieren, da Informationen über abhängige Objekte fehlen.
Beschreibung¶
Snowflake erfordert eine gültige RETURNS TABLE-Klausel für CREATE TABLE FUNCTION-Anweisungen.
SnowConvert AI kann auf Szenarios stoßen, in denen der ursprüngliche BigQuery-Quellcode keine RETURNS TABLE-Klausel hat. In diesem Fall muss von Grund auf eine neue Klausel erstellt werden. Zu diesem Zweck wird eine Analyse der CREATE TABLE FUNCTION-Abfrage ausgeführt, um die Spaltentypen der resultierenden Tabelle korrekt abzuleiten. Wenn SnowConvert AI die erforderlichen Informationen nicht sammeln kann, wird dieses EWI hinzugefügt.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
CREATE OR REPLACE TABLE FUNCTION function_name_noreturns_asterisk_join (parameter_name INTEGER)
AS
SELECT *
FROM unknownTable1 t1
JOIN unknownTable2 t2 ON t1.col1 = t2.fk_col1;
Generierter Code:¶
Snowflake¶
--** SSC-FDM-0007 - MISSING DEPENDENT OBJECTS "unknownTable1", "unknownTable2" **
CREATE OR REPLACE FUNCTION function_name_noreturns_asterisk_join (parameter_name INTEGER)
----** SSC-FDM-BQ0003 - UNABLE TO GENERATE CORRECT RETURNS TABLE CLAUSE DUE TO MISSING DEPENDENT OBJECT INFORMATION. **
--RETURNS TABLE (
--)
AS
$$
SELECT *
FROM
unknownTable1 t1
JOIN
unknownTable2 t2 ON t1.col1 = t2.fk_col1
$$;
Best Practices¶
Versuchen Sie immer, alle abhängigen Objektdefinitionen in den Eingabecode einzubeziehen, sodass SnowConvert AI Zugriff auf wichtige Informationen hat.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0004¶
Die INFER_SCHEMA-Funktion erfordert einen Dateipfad ohne Platzhalter, um die Tabellenvorlage zu generieren und den FILE_PATH-Platzhalter damit zu ersetzen.
Warnung
Dieses FDM ist veraltet. Die neueste Version für dieses FDM finden Sie unter SSC-FDM-0035.
Beschreibung¶
Die Funktion INFER_SCHEMA-wird in Snowflake verwendet, um die Spaltendefinition einer Tabelle basierend auf der Struktur einer Datei zu generieren. Sie erfordert einen LOCATION-Parameter, der den Pfad zu einer Datei oder einem Ordner angibt, aus dem die Tabellenspalten erstellt werden. Dieser Pfad unterstützt jedoch keine regulären Ausdrücke, das heißt, das Platzhalterzeichen * wird nicht unterstützt.
Wenn die Tabelle keine Spalten enthält, prüft SnowConvert AI alle URIS, um eine zu finden, die keine Platzhalter verwendet, und nutzt diese in der INFER_SCHEMA-Funktion. Wenn keine URI diesen Kriterien entspricht, werden diese FDM und ein FILE_PATH-Platzhalter generiert. Der Platzhalter muss anschließend durch den Pfad einer der von der externen Tabelle referenzierten Dateien ersetzt werden, um die Tabellenspalten zu erzeugen.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
CREATE OR REPLACE EXTERNAL TABLE test.my_external_table_json2
OPTIONS(
FORMAT='JSON',
URIS=['gs://sc_external_table_bucket/folder_with_json/*']
);
Generierter Code:¶
Snowflake¶
CREATE OR REPLACE TEMPORARY FILE FORMAT SC_TEST_MY_EXTERNAL_TABLE_JSON2_FORMAT
TYPE = JSON;
CREATE OR REPLACE EXTERNAL TABLE test.my_external_table_json2 USING TEMPLATE (
SELECT
ARRAY_AGG(OBJECT_CONSTRUCT('COLUMN_NAME', COLUMN_NAME, 'TYPE', TYPE, 'NULLABLE', NULLABLE, 'EXPRESSION', EXPRESSION))
FROM
--** SSC-FDM-BQ0004 - THE INFER_SCHEMA FUNCTION REQUIRES A FILE PATH WITHOUT WILDCARDS TO GENERATE THE TABLE TEMPLATE, REPLACE THE FILE_PATH PLACEHOLDER WITH IT **
TABLE(INFER_SCHEMA(LOCATION => '@EXTERNAL_STAGE/FILE_PATH', FILE_FORMAT => 'SC_TEST_MY_EXTERNAL_TABLE_JSON2_FORMAT'))
)
!!!RESOLVE EWI!!! /*** SSC-EWI-BQ0015 - EXTERNAL TABLE REQUIRES AN EXTERNAL STAGE TO ACCESS gs://sc_external_table_bucket, DEFINE AND REPLACE THE EXTERNAL_STAGE PLACEHOLDER ***/!!!
LOCATION = @EXTERNAL_STAGE
AUTO_REFRESH = false
PATTERN = 'folder_with_json/.*'
FILE_FORMAT = (TYPE = JSON);
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0005¶
Parsen des CSV-Headers wird in externen Tabellen nicht unterstützt. Spalten müssen umbenannt werden, damit sie den ursprünglichen Namen entsprechen.
Beschreibung¶
Derzeit unterstützen externe Snowflake-Tabellen nicht das Parsen des Headers von CSV-Dateien. Wenn eine externe Tabelle ohne explizite Spaltenliste und ohne CSV-Dateiformat gefunden wird, erzeugt SnowConvert AI das Dateiformat SKIP_HEADER, um Laufzeitfehler zu vermeiden. Dies führt jedoch dazu, dass die Spaltennamen der Tabelle automatisch als c1, c2, …, cN generiert werden.
Dieses FDM wird generiert, um mitzuteilen, dass der Header nicht analysiert werden kann und dass eine manuelle Umbenennung der Spalten notwendig ist, um die ursprünglichen Spaltennamen beizubehalten.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
CREATE OR REPLACE EXTERNAL TABLE test.my_external_table_csv
OPTIONS(
FORMAT='CSV',
URIS=['gs://sc_external_table_bucket/folder_with_csv/Employees.csv']
);
Generierter Code:¶
Snowflake¶
CREATE OR REPLACE TEMPORARY FILE FORMAT SC_TEST_MY_EXTERNAL_TABLE_CSV_FORMAT
TYPE = CSV
SKIP_HEADER = 1;
CREATE OR REPLACE EXTERNAL TABLE test.my_external_table_csv
--** SSC-FDM-BQ0005 - PARSING THE CSV HEADER IS NOT SUPPORTED IN EXTERNAL TABLES, COLUMNS MUST BE RENAMED TO MATCH THE ORIGINAL NAMES **
USING TEMPLATE (
SELECT
ARRAY_AGG(OBJECT_CONSTRUCT('COLUMN_NAME', COLUMN_NAME, 'TYPE', TYPE, 'NULLABLE', NULLABLE, 'EXPRESSION', EXPRESSION))
FROM
TABLE(INFER_SCHEMA(LOCATION => '@EXTERNAL_STAGE/folder_with_csv/Employees.csv', FILE_FORMAT => 'SC_TEST_MY_EXTERNAL_TABLE_CSV_FORMAT'))
)
!!!RESOLVE EWI!!! /*** SSC-EWI-0032 - EXTERNAL TABLE REQUIRES AN EXTERNAL STAGE TO ACCESS gs://sc_external_table_bucket, DEFINE AND REPLACE THE EXTERNAL_STAGE PLACEHOLDER ***/!!!
LOCATION = @EXTERNAL_STAGE
AUTO_REFRESH = false
PATTERN = 'folder_with_csv/Employees.csv'
FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1);
Best Practices¶
Benennen Sie die Tabellenspalten in die ursprünglichen Namen aus der Datei um, um die Transformation abzuschließen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0006¶
Das Lesen von Google Drive wird in Snowflake nicht unterstützt. Laden Sie die Dateien an den externen Speicherort hoch, und ersetzen Sie die FILE_PATH-Platzhalter.
Beschreibung¶
Snowflake unterstützt das Lesen von Daten aus Dateien nicht, die in Google Drive gehostet werden. Dieses FDM wird generiert, um eine Benachrichtigung zu erstellen. Laden Sie die Google Drive-Dateien in den externen Speicherort hoch, damit sie über den externen Stagingbereich auf sie zugreifen können.
Die PATTERN-Klausel enthält automatisch generierte Platzhalter FILE_PATH0, FILE_PATH1, …, FILE_PATHN, die nach dem Verschieben der Dateien an den externen Speicherort durch die tatsächlichen Datei- oder Ordnerpfade ersetzt werden müssen.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
CREATE OR REPLACE EXTERNAL TABLE test.my_external_table_drive_test
OPTIONS(
FORMAT='JSON',
URIS=['https://drive.google.com/open?id=someFileId']
);
Generierter Code:¶
Snowflake¶
CREATE OR REPLACE TEMPORARY FILE FORMAT SC_TEST_MY_EXTERNAL_TABLE_DRIVE_TEST_FORMAT
TYPE = JSON;
CREATE OR REPLACE EXTERNAL TABLE test.my_external_table_drive_test USING TEMPLATE (
SELECT
ARRAY_AGG(OBJECT_CONSTRUCT('COLUMN_NAME', COLUMN_NAME, 'TYPE', TYPE, 'NULLABLE', NULLABLE, 'EXPRESSION', EXPRESSION))
FROM
--** SSC-FDM-0035 - THE INFER_SCHEMA FUNCTION REQUIRES A FILE PATH WITHOUT WILDCARDS TO GENERATE THE TABLE TEMPLATE, REPLACE THE FILE_PATH PLACEHOLDER WITH IT **
TABLE(INFER_SCHEMA(LOCATION => '@EXTERNAL_STAGE/FILE_PATH', FILE_FORMAT => 'SC_TEST_MY_EXTERNAL_TABLE_DRIVE_TEST_FORMAT'))
)
!!!RESOLVE EWI!!! /*** SSC-EWI-0032 - EXTERNAL TABLE REQUIRES AN EXTERNAL STAGE TO ACCESS AN EXTERNAL LOCATION, DEFINE AND REPLACE THE EXTERNAL_STAGE PLACEHOLDER ***/!!!
LOCATION = @EXTERNAL_STAGE
AUTO_REFRESH = false
--** SSC-FDM-BQ0006 - READING FROM GOOGLE DRIVE IS NOT SUPPORTED IN SNOWFLAKE, UPLOAD THE FILES TO THE EXTERNAL LOCATION AND REPLACE THE FILE_PATH PLACEHOLDERS **
PATTERN = 'FILE_PATH0'
FILE_FORMAT = (TYPE = JSON);
Best Practices¶
Schließen Sie die Transformation ab, indem Sie die in Google Drive gehosteten Dateien in den externen Speicherort hochladen, auf den der externe Stagingbereich verweist. Ersetzen Sie dann die FILE_PATH-Platzhalter.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0007¶
Das Lesen von Tabellen wird in Snowflake nicht unterstützt, verwenden Sie stattdessen den CSV-Dateityp.
Beschreibung¶
Snowflake unterstützt Google Tabellen nicht als Dateiformat, deren Struktur jedoch ähnlich ist wie CSV-Dateien, die von Snowflake unterstützt werden.
Wenn SnowConvert AI eine externe Tabelle erkennt, die das GOOGLE_SHEETS-Format verwendet, wird stattdessen eine externe Tabelle mit dem CSV-Dateiformat erstellt.
Diese FDM wird generiert, um den Benutzer darüber zu informieren, dass die Transformation nun eine CSV-Datei anstelle von Google Sheets erwartet.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
CREATE OR REPLACE EXTERNAL TABLE test.spreadsheetTable
(
Name STRING,
Code INTEGER,
Price INTEGER,
Expiration_date DATE
)
OPTIONS(
format="GOOGLE_SHEETS",
skip_leading_rows = 1,
uris=['https://docs.google.com/spreadsheets/d/someFileId/edit?usp=sharing']
);
Generierter Code:¶
Snowflake¶
--** SSC-FDM-BQ0007 - READING FROM SPREADSHEETS IS NOT SUPPORTED IN SNOWFLAKE, USE THE CSV FILE TYPE INSTEAD **
CREATE OR REPLACE EXTERNAL TABLE test.spreadsheetTable
(
Name STRING AS CAST(GET_IGNORE_CASE($1, 'c1') AS STRING),
Code INTEGER AS CAST(GET_IGNORE_CASE($1, 'c2') AS INTEGER),
Price INTEGER AS CAST(GET_IGNORE_CASE($1, 'c3') AS INTEGER),
Expiration_date DATE AS CAST(GET_IGNORE_CASE($1, 'c4') AS DATE)
)
!!!RESOLVE EWI!!! /*** SSC-EWI-0032 - EXTERNAL TABLE REQUIRES AN EXTERNAL STAGE TO ACCESS AN EXTERNAL LOCATION, DEFINE AND REPLACE THE EXTERNAL_STAGE PLACEHOLDER ***/!!!
LOCATION = @EXTERNAL_STAGE
AUTO_REFRESH = false
--** SSC-FDM-BQ0006 - READING FROM GOOGLE DRIVE IS NOT SUPPORTED IN SNOWFLAKE, UPLOAD THE FILES TO THE EXTERNAL LOCATION AND REPLACE THE FILE_PATH PLACEHOLDERS **
PATTERN = 'FILE_PATH0'
FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "bigquery", "convertedOn": "07/16/2025", "domain": "no-domain-provided" }}';
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0008¶
Klausel verweist hierbei auf eine Spalte vom STRUCT-Typ.
Beschreibung¶
Wenn ein Snowflake-Objekt ein Schlüsselwertformat hat, vergleicht Snowflake beim Vergleich mit einem anderen Objekt sowohl den Schlüssel als auch den Wert. BigQuery vergleicht beim Vergleich von Structs hingegen ausschließlich die Werte – unabhängig davon, ob der Struct Schlüssel besitzt oder nicht.
Dieser Unterschied zwischen den Vergleichen kann dazu führen, dass die Ergebnisse in SnowConvert AI und BigQuery für denselben Vergleich nicht übereinstimmen. Diese FDM wird hinzugefügt, wenn ein Vergleich mit einem Snowflake-Objekt durchgeführt wird, das aus einem BigQuery-Struct erstellt wurde.
Codebeispiel¶
Eingabe:¶
BigQuery¶
CREATE OR REPLACE TABLE test.compExprTable
(
COL1 STRUCT<sc1 INT64>,
COL2 STRUCT<sc2 INT64>
);
SELECT * FROM test.compExprTable WHERE COL1 <> (COL2);
Ausgabe:¶
Snowflake¶
CREATE OR REPLACE TABLE test.compExprTable
(
COL1 VARIANT /*** SSC-FDM-0034 - STRUCT<INT64> CONVERTED TO VARIANT. SOME OF ITS USAGES MIGHT HAVE FUNCTIONAL DIFFERENCES. ***/,
COL2 VARIANT /*** SSC-FDM-0034 - STRUCT<INT64> CONVERTED TO VARIANT. SOME OF ITS USAGES MIGHT HAVE FUNCTIONAL DIFFERENCES. ***/
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "bigquery", "convertedOn": "07/02/2025", "domain": "no-domain-provided" }}';
SELECT * FROM
test.compExprTable
--** SSC-FDM-BQ0008 - WHERE CLAUSE REFERENCES A COLUMN OF STRUCT TYPE. COMPARISON OPERATIONS MAY PRODUCE DIFFERENT RESULTS IN SNOWFLAKE. **
WHERE COL1 <> (COL2);
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-BQ0010¶
Die Geography-Funktion ist in Snowflake nicht erforderlich.
Beschreibung¶
Diese Warnung wird für die Verwendung von geografischen Funktionen in der Werteklausel hinzugefügt, um Daten dieses Typs einzufügen. Das liegt daran, dass sie nicht notwendig sind und Snowflake automatisch erkennt, dass die Daten dem [WGS 84-Standard] (https://spatialreference.org/ref/epsg/wgs-84/) entsprechen.
Codebeispiel¶
Eingabe:¶
BigQuery¶
CREATE OR REPLACE TABLE test.geographyType
(
COL1 GEOGRAPHY
);
INSERT INTO test.geographyType VALUES
(ST_GEOGFROMTEXT('POINT(-122.35 37.55)')),
(ST_GEOGFROMTEXT('LINESTRING(-124.20 42.00, -120.01 41.99)'));
SELECT * FROM test.geographyType;
Ausgabe:¶
Abfrage¶
CREATE OR REPLACE TABLE test.geographyType
(
COL1 GEOGRAPHY
);
INSERT INTO test.geographyType
VALUES
(
--** SSC-FDM-BQ0010 - THE FUNCTION 'ST_GEOGFROMTEXT' IS NOT REQUIRED IN SNOWFLAKE. **
'POINT(-122.35 37.55)'), (
--** SSC-FDM-BQ0010 - THE FUNCTION 'ST_GEOGFROMTEXT' IS NOT REQUIRED IN SNOWFLAKE. **
'LINESTRING(-124.20 42.00, -120.01 41.99)');
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT = 'WKT';
SELECT * FROM
test.geographyType;
SSC-FDM-BQ0011¶
Benannte Parameter in diesem Skript wurden in Snowflake-CLI-Variablen umgewandelt.
Beschreibung¶
Bei der Arbeit mit BigQuery-Abfragen können benannte Parameter unter Verwendung der @parameter_name-Syntax angegeben werden. Immer, wenn im Eingabecode eine parametrisierte Abfrage gefunden wird, generiert SnowConvert diese FDM am Anfang des Skripts, um dem Benutzer mitzuteilen, dass die benannten Parameter in Snowflake CLI-Variablen umbenannt wurden.
Um die transformierten .sql-Skripte auszuführen, die benannte Parameter enthalten, führen Sie Snowflake CLI mithilfe der Variablenersetzung aus.
Weitere Informationen zum Einrichten und Verwenden von Snowflake CLI finden Sie in Was ist Snowflake CLI?
Codebeispiel¶
Eingabe:¶
BigQuery¶
SELECT column1 FROM test.parametersExample WHERE column2 = @searchValue;
Ausführung des Beispiels (mit dem Befehl bq query)¶
bq query \
--use_legacy_sql=false \
--parameter=searchValue:Int64:80 \
'SELECT column1 FROM test.parametersExample WHERE column2 = @searchValue'
Ausgabe:¶
Snowflake¶
--** SSC-FDM-BQ0011 - NAMED PARAMETERS IN THIS SCRIPT WERE TRANSFORMED TO SNOWFLAKE CLI VARIABLES. **
SELECT column1 FROM
test.parametersExample
WHERE column2 = <% searchValue %>;
Beispielausführung (Snowflake CLI)¶
snow sql -f output_file_path -D "searchValue=80"
Empfehlungen¶
Die Verwendung dieser Funktionen in der Werteklausel von Snowflake ist nicht zulässig. Sie können stattdessen eine Unterabfrage verwenden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.