JSON_TABLE

Translation specification for the transformation of JSON_TABLE into a equivalent query in Snowflake

Description

Creates a table based on the contents of a JSON document. See JSON_TABLE documentation.

[TD_SYSFNLIB.]JSON_TABLE(
  ON (json_documents_retrieving_expr)
  USING 
      ROWEXPR (row_expr_literal) 
      COLEXPR (column_expr_literal)
  [AS] correlation_name [(column_name [,...])]
)

The conversion of JSON_TABLE has the considerations shown below:

  • ROW_NUMBER() is an equivalent of ordinal columns in Snowflake.

  • In Teradata the second column of JSON_TABLE must be JSON type because the generated columns replace the second column, for that reason, Snowconvert assumes that the column has the right type, and uses it for the transformation.

Sample Source Patterns

Setup data

Teradata

Snowflake

Pattern code 1

Teradata

Snowflake

Known Issues

1. The JSON path in COLEXPR can not have multiple asterisk accesses

The columns JSON path cannot have multiple lists with asterisk access, for example: $.Names[*].FullNames[*]. On the other hand, the JSON path of ROWEXP can have it.

2. JSON structure defined in the COLEXPR literal must be a valid JSON

When it is not the case the user will be warned about the JSON being badly formed.

  1. MSCEWI2062: JSON value was not recognized due to an invalid format.

  2. MSCEWI2063: JSON path was not recognized.

Last updated

Was this helpful?