Google bigquery 如何在Bigquery中更改列模式

Google bigquery 如何在Bigquery中更改列模式,google-bigquery,Google Bigquery,我在bigquery表中有一个INTEGERtype列,它在模式中设置为NULLABLE。是否有任何方法可以使用API、bq控制台或UI将bigquery中的字段模式从null更改为0 我已经阅读了文档,文档清楚地显示我们可以将模式从必需更改为可空。但是没有关于将其从NULLABLE更改为0的提示。我不想丢失表中已经存在的数据 如果有任何方法可以这样做,请提供帮助。不支持设置默认值,但是使用IFNULL 比如说 SELECT IFNULL(a, 0) AS field FROM ( SELE

我在bigquery表中有一个
INTEGER
type列,它在模式中设置为
NULLABLE
。是否有任何方法可以使用API、bq控制台或UI将bigquery中的字段模式从
null
更改为
0

我已经阅读了文档,文档清楚地显示我们可以将模式从
必需
更改为
可空
。但是没有关于将其从
NULLABLE
更改为
0
的提示。我不想丢失表中已经存在的数据


如果有任何方法可以这样做,请提供帮助。

不支持设置默认值,但是使用
IFNULL

比如说

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

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

我认为字段模式只能是“可空、必需或重复”。是否有文档告诉它可能是“0”?我不知道@YunZhang,我需要默认值为0。我想应该在模式下更新它(如果支持的话)。我想这不支持这里描述的。默认列值不受支持。没有@QueryStash实际上我在bigquery表中查找默认列值(例如0)。不是部分解决方案。如前所述,BigQuery中不可能使用默认值,因此只能使用替代解决方案。