简体   繁体   中英

Default values for columns in Big Query Tables

Is there a way to set default values for columns in tables in big query? I would like to set 'false' as a default value for a column of boolean data type.

A nullable column can (trivially) have a NULL default value, but there is no other notion of default in BigQuery (you either insert a particular value or omit the value and it will have the NULL value).

That said, if you want to wrap your raw table in a View, you can map a NULL column value to any default that you like.

There is no default values for columns in BigQuery
The simple way would be just to use NULL (in most cases this should be acceptable from requirements prospective)
Also conside cost aspect of this - storing NULL as a default cost you zero versus storing actual value will cost you column size multipled by count of rows with default values

If NULL will work for you but you still need to have your real default value for use in application - you can use field description to store some metadata about this field including default value, so than application will be able to retrieve it and use it based on whatever application logic is

In BigQuery - View is the best way to expose your real default value

While you can't set a default at table level, you can do it in SQL at the time of insertion, if that works for your purposes. You can use the IF() conditional expression , as such:

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

In fact, you can do whatever which conditional expression floats your boat.

Now BigQuery supports setting default values on columns in tables

https://cloud.google.com/bigquery/docs/default-values

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM