BigQuery中的IS NULL函数问题

Nat*_*yne 6 google-bigquery

我写的是一个新的跟进,回应了一篇文章中提出的问题.

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

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
Run Code Online (Sandbox Code Playgroud)
  • 我知道该功能存在问题IS NULL(或存在问题).这个问题仍然存在吗?

  • 当我过滤掉IS NOT NULL它时,它会干净地删除所有没有数据"" hits_transaction_transactionId的行,以及its_transaction_transactionId单元格中带有"NULL"字样的所有行 吗?

我问,因为我从报告中获得了大量数据,我无法归结为GA并且我正在尝试理解原因.

Jor*_*ani 9

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

一个IS [NOT] NULL过滤器将只过滤空值.空值与空字符串不同,空字符串与字符串"null"不同.

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

{"hits_transaction_transactionId": null} 
Run Code Online (Sandbox Code Playgroud)

空字符串将如下所示:

{"hits_transaction_transactionId": ""} 
Run Code Online (Sandbox Code Playgroud)

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

{"hits_transaction_transactionId": "null"} 
Run Code Online (Sandbox Code Playgroud)

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

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

  • 这个问题对我来说仍然存在,“IS NULL”显示所有空值和非空值 (2认同)