如何进行查询以将值转换为大查询中所有分区表的列

How do I make a query to cast the value in a column for all partitioned tables in big query

我很好奇是否有一种方法可以在大查询中查询和写入所有分区的 table。我想将单个列转换为不同的数据类型,并将其应用于大型查询 table 中跨分区的所有值。

select cast(nums as STRING) from `project_id.dataset.table`

并将其写回 table 列中的所有值。在 bigquery 中有没有一种直接的方法可以做到这一点?

让我们创建一个 table:

CREATE TABLE `deleting.part`
PARTITION BY day 
AS
SELECT DATE('2018-01-01') day, 2 i
UNION ALL SELECT DATE('2018-01-02'), 3

现在,让我们将 iINT64 更改为 FLOAT64

CREATE OR REPLACE TABLE `deleting.part`
PARTITION BY day 
AS
SELECT * REPLACE(CAST(i AS FLOAT64) AS i)
FROM `deleting.part`

成本:完整 table 扫描。