大查询表中列的默认值

use*_*859 6 sql google-bigquery google-cloud-platform

有没有办法在大查询中为表中的列设置默认值?我想将'false'设置为布尔数据类型列的默认值.

Ada*_*ick 5

可以为空的列可以(通常)具有NULL默认值,但BigQuery中没有其他默认值(您可以插入特定值或省略该值,它将具有NULL值).

也就是说,如果要将原始表包装在View中,可以将NULL列值映射到您喜欢的任何默认值.


Mik*_*ant 5

BigQuery 中
的列没有默认值简单的方法就是使用 NULL(在大多数情况下,从需求
角度来看这应该是可以接受的)还要考虑成本方面 - 将 NULL 存储为默认成本,您将其归零,而不是存储实际值成本列大小乘以具有默认值的行数

如果 NULL 对您有用,但您仍然需要在应用程序中使用真正的默认值 - 您可以使用字段描述来存储有关该字段的一些元数据,包括默认值,这样应用程序将能够检索它并基于它使用它在任何应用程序逻辑上

在 BigQuery 中 - 查看是公开真实默认值的最佳方式