BigQuery - 将“”设置为 Null
Posted
技术标签:
【中文标题】BigQuery - 将“”设置为 Null【英文标题】:BigQuery - set "" as Null 【发布时间】:2016-03-01 07:50:55 【问题描述】:我得到 csv 文件,其中字符串空值表示为""
,
当我将文件加载到BigQuery
时,该字段的值为空字符串
而不是Null
。
有没有办法将 BigQuery 设置为将 ""
视为 Null
值?
【问题讨论】:
【参考方案1】:为那些可能仍然需要它的人添加它。有一个NULLIF
函数可以轻松做到这一点。
NULLIF(column_name,'')
如果column_name
是一个空字符串,即''
,它会输入NULL
,如果不是,则输入column_name
值。
【讨论】:
我希望几年前我就知道这个 nullif() !谢谢。【参考方案2】:在我看来,从原始文件中删除所有 ""
实例可能是最简单的。 (通过查找和替换。)
否则,将表加载到 BigQuery 后,您可以选择所有列,将case when column_name = '' then null else column_name end
应用于相关列,并将结果另存为新表。
【讨论】:
【参考方案3】:您使用的是 Google Cloud SDK (https://cloud.google.com/sdk/downloads) 附带的命令行工具吗?如果是这样,请查看bq help load
以查看load
命令的参数。您可以传递的标志之一是--null_marker
。
我尚未验证此标志是否支持空字符串,但如果 Google Cloud 支持它,它就会存在。
【讨论】:
我无法让--null_marker
识别空字符串。我尝试通过""
和'""'
。以上是关于BigQuery - 将“”设置为 Null的主要内容,如果未能解决你的问题,请参考以下文章
通过 Google BigQuery API 将查询结果导出为 JSON
google-bigquery 在查询结果中将日期格式设置为 mm/dd/yyyy