sql - 表函数示例
问题描述
是UNNEST
表函数的一个例子吗?如果我理解正确,它似乎会生成一个命名列。就像是:
`vals`
[1,2,3]
unnest(vals) as v
`v`
1
2
3
with Table as (
select [1,2,3] vals
) select v from Table, UNNEST(vals) as v
这是表函数的示例吗?如果不是,它是什么样的功能?BQ 中还有其他预定义的表函数吗?
解决方案
UNNEST 运算符接受一个 ARRAY 并返回一个表,其中 ARRAY 中的每个元素对应一行。您还可以在带有 IN 运算符的 FROM 子句之外使用 UNNEST。
因此,如果您愿意,可以将其称为表函数 :o)
您可以在此处阅读有关 UNNEST的更多信息
如果我理解正确,它似乎会生成一个命名列
不完全正确。请参阅下面的示例
with Table as (
select [struct(1 as a,2 as b),struct(3, 4), struct(5, 6)] vals
)
select v.* from Table, UNNEST(vals) as v
带输出
推荐阅读
- php - 引导警报关闭与超时不一致
- javascript - 如何控制 X 轴数据点之间的填充空间
- android - Workmanager 在待机和打盹模式下不工作
- python - 混淆矩阵准确性评估非等长用户和生产者数据集
- c# - 如何在 Revit api 中将元素的参考文件绝对路径转换为相对路径
- vb.net - 获取 For Each 中的当前元素
- algorithm - Selecting top n items from multiple sorted arrays
- laravel - Laravel 身份验证重置
- objective-c - 如何将字典中的 Swift 中的 Float 作为 NSDictionary 传递给 ObjectiveC 方法而不将其转换为字符串?
- javascript - TinyMCE:如何让用户在“只读:真”时标记文本;