大查询表中列的默认值

时间:2016-06-03 21:05:51

标签: sql google-bigquery google-cloud-platform

有没有办法在大查询中为表中的列设置默认值?我想设置“假”'作为布尔数据类型列的默认值。

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:3)

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

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

使用它

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

答案 2 :(得分:1)

虽然您不能在表级别设置默认值,但您可以在插入时在 SQL 中进行设置,如果这对您的目的有效的话。您可以使用 IF() conditional expression,如下所示:

SELECT IF(field IS NOT NULL, field, "default") from `table`

事实上,你可以做任何让你的船漂浮的条件表达式。

相关问题