gpt4 book ai didi

sql - 在 BigQuery 中更新结构数组中的值

转载 作者:行者123 更新时间:2023-12-04 01:28:35 24 4
gpt4 key购买 nike

我正在寻找一种简单的方法来使用 SQL 更新结构数组中的值。假设我们有一张 table :

CREATE TABLE schema.table
(
date DATE,
weights ARRAY<STRUCT<animal STRING, value FLOAT64>>
)
;

insert into schema.table
select cast('2020-01-01' as date), [('dog', 10.2), ('bird', 0.7), ('dragon', 3.2)]
union all
select cast('2020-01-02' as date), [('dog', 10.3), ('bird', 0.7)]
union all
select cast('2020-01-03' as date), [('dragon', 3.3)]

所以表格看起来像:

enter image description here

我想以某种方式更新此表并更改所有 dragon命名为 cat .

最佳答案

下面是 BigQuery 标准 SQL

#standardSQL
UPDATE `project.dataset.table` t
SET weights =
ARRAY(
SELECT AS STRUCT IF(animal = 'dragon', 'cat', animal) animal, value
FROM t.weights
)
WHERE TRUE

关于sql - 在 BigQuery 中更新结构数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61408952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com