我得到csv文件,其中字符串null值表示为""
,
当我将文件加载到BigQuery
时,该字段的值为空字符串
而不是Null
。
有没有办法设置BigQuery以将""
视为Null
值?
答案 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
值。