【问题标题】:How to change a column mode in Bigquery如何在 Bigquery 中更改列模式
【发布时间】:2021-01-13 18:45:19
【问题描述】:

我在 bigquery 表中有一个 INTEGER 类型列,该列设置为 NULLABLE 模式。有什么方法可以使用 API、bq 控制台或 UI 在 bigquery 中将字段模式从 NULLABLE 更改为 0

我已阅读文档并清楚地表明我们可以将模式从 REQUIRED 更改为 NULLABLE。但是没有提示将其从 NULLABLE 更改为 0。我不想丢失表中已经存在的数据。

如果有什么办法,请帮忙。

【问题讨论】:

  • 我认为字段模式只能是“NULLABLE、REQUIRED 或 REPEATED”。是否有文档告诉它可能是“0”?
  • 我不知道@YunZhang 我需要默认为 0 值。我想它应该在模式下更新(如果支持的话)。
  • 我认为这里不支持link
  • 不支持默认列值。

标签: google-bigquery


【解决方案1】:

不支持设置默认值,但是可以在使用IFNULL的查询中轻松实现这一点

例如

SELECT IFNULL(a, 0) AS field
FROM (
  SELECT 2 AS a
  UNION ALL
  SELECT NULL AS a
)

如果您从外部源加载数据,您可以创建一个临时表,然后使用IFNULL 运行查询以生成主表的数据,需要更多详细信息才能给出更具体的答案。

【讨论】:

  • No @QueryStash 实际上我在 bigquery 表中寻找默认列值(例如 0)。不是部分解决方案。
  • 如前所述,BigQuery 中无法使用默认值,因此只能使用替代解决方案。
猜你喜欢
  • 2021-02-10
  • 2016-08-09
  • 1970-01-01
  • 2019-10-28
  • 1970-01-01
  • 2021-10-13
  • 2019-04-13
  • 2017-05-06
  • 2020-01-29
相关资源
最近更新 更多