BigQuery - 设置""如空

时间:2016-03-01 07:50:55

标签: google-bigquery

我得到csv文件,其中字符串null值表示为"", 当我将文件加载到BigQuery时,该字段的值为空字符串 而不是Null

有没有办法设置BigQuery以将""视为Null值?

3 个答案:

答案 0 :(得分:2)

在我看来,简单地从原始文件中删除""的所有实例可能是最简单的。 (通过查找和替换。)

否则,将表加载到BigQuery后,您可以选择所有列,将case when column_name = '' then null else column_name end应用于相关列,并将结果另存为新表。

答案 1 :(得分:1)

您使用的是Google Cloud SDK附带的命令行工具(https://cloud.google.com/sdk/downloads)吗?如果是,请查看bq help load以查看load命令中的参数。您可以传递的其中一个标志是--null_marker

我还没有验证此标志是否支持空字符串,但如果Google Cloud支持它,它就会存在。

答案 2 :(得分:0)

为可能仍需要此功能的人添加此功能。有一个NULLIF函数可以很容易地做到这一点。

NULLIF(column_name,'')

如果column_name是一个空字符串,即'',它将放置NULL,否则,它将放置column_name值。