STRUCT
Translation specification for the STRUCT datatype from BigQuery to Snowflake
Description
In BigQuery, a container of ordered fields each with a type (required) and field name (optional). See Struct Type.
In Snowflake, OBJECT_CONSTRUCT can be used to emulate the STRUCT behavior, and SnowConvert handles most implementation differences.
Sample Source Patterns
Setup data
CREATE OR REPLACE TABLE test.structTypes
(
COL1 STRUCT,
COL2 STRUCT<sc2 STRING(10)>,
COL3 STRUCT<sc3 STRUCT<sc31 INT64, sc32 INT64>>,
COL4 STRUCT<sc4 ARRAY>,
COL5 STRUCT<sc5 INT64, sc51 INT64>,
COL7 STRUCT<sc7 INT64 OPTIONS(description = "A repeated STRING field"), sc71 BOOL>,
COL8 STRUCT<sc8 INT64 NOT NULL, sc81 BOOL NOT NULL OPTIONS(description = "A repeated STRING field")> );
CREATE OR REPLACE TABLE test.tuple_sample (
COL1 STRUCT<Key1 INT64, Key2 INT64>
);CREATE OR REPLACE TABLE test.structTypes
(
COL1 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<INT> DATA TYPE CONVERTED TO VARIANT ***/,
COL2 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<STRING(10)> DATA TYPE CONVERTED TO VARIANT ***/,
COL3 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<STRUCT<INT64, INT64>> DATA TYPE CONVERTED TO VARIANT ***/,
COL4 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<> DATA TYPE CONVERTED TO VARIANT ***/,
COL5 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<INT, INT> DATA TYPE CONVERTED TO VARIANT ***/,
COL7 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<INT, BOOLEAN> DATA TYPE CONVERTED TO VARIANT ***/,
COL8 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<INT, BOOLEAN> DATA TYPE CONVERTED TO VARIANT ***/
);
CREATE OR REPLACE TABLE test.tuple_sample (
COL1 VARIANT /*** MSC-WARNING - MSCEWI1036 - STRUCT<INT, INT> DATA TYPE CONVERTED TO VARIANT ***/
);Insert INT Data Type to STRUCT column
Insert STRING Data Type to STRUCT column
Insert STRUCT Data Type to STRUCT column
Insert ARRAY Data Type to STRUCT column
Insert to selected STRUCT columns
Insert to STRUCT column tuple syntax
Update STRUCT column
Update STRUCT column field
Select from STRUCT column
Select from STRUCT column tuple syntax
STRUCT column comparison expressions
Last updated
Was this helpful?