创建空字符串数组 BigQuery

Gwe*_*uel 2 arrays google-bigquery

我需要创建一个空数组,输入为 < STRING > ARRAY

我需要附加( UNION )一些真实数据和一些模拟数据来重现未生成的值。

我的真实数据包含 2 个字符串数组的结构。在我的模拟数据中,我尝试使用“[]”运算符模拟空数组。但是联合失败了,因为我不能将一个 INT64 数组的结构与一个 STRING ARRAYS 的结构联合起来。

试过:

STRUCT([] AS ART,[] AS LIB)
Run Code Online (Sandbox Code Playgroud)

哪个成功生成了一个空的 INT64 ARRAYS 结构。但导致:

错误 :

Column 4 in UNION ALL has incompatible types: STRUCT<ART ARRAY<STRING>, LIB ARRAY<STRING>>, STRUCT<ART ARRAY<INT64>, LIB ARRAY<INT64>> at [86:2]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ann 6

您可以像这样强制使用某种类型:

WITH t AS (
  SELECT
    STRUCT(ARRAY<STRING>[] AS ART,ARRAY<STRING>[] AS LIB) as myStruct
  )

SELECT * FROM t
Run Code Online (Sandbox Code Playgroud)

请参阅https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical