【问题标题】:BigQuery - set "" as NullBigQuery - 将“”设置为 Null
【发布时间】:2016-03-01 07:50:55
【问题描述】:

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

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

【问题讨论】:

    标签: google-bigquery


    【解决方案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 识别空字符串。我尝试通过"" 和'""'。
      猜你喜欢
      • 1970-01-01
      • 2014-09-12
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多