BigQuery中的IS NULL函数问题

时间:2013-12-03 21:30:42

标签: google-bigquery

我写的是一个新的跟进,回应了previous post中提出的问题。

目前,我正在使用一个数据集来过滤掉单元格内记录空白的值。具体来说,我有以下查询:

SELECT visitNumber, visitId, visitStartTime, totals_timeOnSite, trafficSource_medium, hits_transaction_transactionId, fullVisitorId, RIGHT(hits_transaction_transactionId,10) AS Transact_ID
FROM [From_USCC.consolid_GA_oct]
WHERE hits_transaction_transactionId IS NOT NULL
  • 我了解IS NULL功能存在问题(或 有一个问题)。这个问题仍然存在吗?

  • 当我过滤IS NOT NULL时,它会彻底删除所有内容 hits_transaction_transactionId中没有数据“”的行,如 以及在其中包含单词'NULL'的所有行 its_transaction_transactionId单元格?

我在问,因为我从报告中获得了大量数据,而这些数据无法归结为GA&我想了解原因。

1 个答案:

答案 0 :(得分:8)

IS NULL的问题已得到修复;我已经更新了您链接的问题。

IS [NOT] NULL过滤器只会过滤空值。空值与空字符串不同,空字符串与字符串“null”不同。

如果你查看查询响应的实际json,你可以看到差异。空字段看起来像

{"hits_transaction_transactionId": null} 

空字符串将如下所示:

{"hits_transaction_transactionId": ""} 

值为“null”的字符串将如下所示:

{"hits_transaction_transactionId": "null"} 

要查找第一个,您可以使用IS NULL找到您可以使用== ""的第二个并找到第三个(可能不是您想要的),您可以使用{{ 1}}。

如果您认为这种情况不正常,请告诉我们具体情况以及与预期的不同之处,我们会进行调查。