多行函数
多列函数执行运算之后会返回多个行。
多行函数仅可在 SELECT
子句中使用, 并且在 SELECT
子句中只允许使用一个多行函数。
UNNEST
text
unnest(array)
参数必须是一个 array 对象。该函数将参数 array 展开成多行作为结果返回。如果 array 对象中每一个子项为 map[string]interface{} 对象,则该子项会作为列在返回的行中。
例子
创建流 demo,并给与如下输入。
json
{
"a": [
1,
2
],
"b": 3
}
获取 unnest 结果的规则:
text
SQL: SELECT unnest(a) FROM demo
___________________________________________________
{"unnest":1}
{"unnest":2}
获取 unnest 结果与其他列的规则:
text
SQL: SELECT unnest(a), b FROM demo
___________________________________________________
{"unnest":1, "b":3}
{"unnest":2, "b":3}
创建流 demo,并给与如下输入。
json
{
"x": [
{
"a": 1,
"b": 2
},
{
"a": 3,
"b": 4
}
],
"c": 5
}
获取 unnest 结果与其他列的规则:
text
SQL: SELECT unnest(x), c FROM demo
___________________________________________________
{"a":1, "b":2, "c": 5}
{"a":3, "b":4, "c": 5}