验证BigQuery中select语句中的空列值



我试图选择一个bigquery表,但我需要分配一个默认值的列,如果它是空的,因为在接下来的过程中,我需要默认或真实的item_id值,我试图使用CASE验证,但我不太确定是否我可以使用此子句用于此目的,我得到下一个错误:

Expected end of input but got keyword case.
Select
p.item_id CASE WHEN item_id IS NULL THEN 'XXXXX' ELSE item_id END AS item_id,
from items
where -- rest of the query

任何想法?

try this

Select
IFNULL(p.item_id,'XXXXX') AS item_id,
from items
where -- rest of the query

BigQuery中的IFNULL()函数

IFNULL(expr, null_result)

如果expr为NULL,则返回null_result。否则,返回expr。如果expr不为NULL,则不计算null_result。

expr和null_result可以是任何类型,并且必须隐式强制转换为公共超类型。COALESCE(expr, null_result)的同义词。

详细信息:https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#ifnull

使用

isnull(yourcolumn,'') 
--or
isnull(yourcolumn,99999999)

,你可以把任何东西放在引号之间。如果值是整型,那就行不通了。您需要为它设置一个默认数字,最好是永远不会使用的数字,如9999999999。

相关内容

  • 没有找到相关文章

最新更新