我想知道如何正确使用IFNULL()BigQuery Standard SQL函数。这是我目前的数据结构。名为“key”和“stringColumn”的列存储字符串。同时,名为“integerColumn”的列存储整数:
我想创建一个名为“singleValueColumn”的新列,该列采用非null的“stringColumn”或“integerColumn”的值:
这是我的BigQuery标准SQL查询:
SELECT key,
value.string_value as stringColumn,
value.int_value as integerColumn,
IFNULL(value.string_value, value.int_value) as singleValueColumn
FROM `com_skytracking_ANDROID.app_events_*`,
UNNEST(event_dim) as event,
UNNEST(event.params) as event_param
WHERE event.name = "order_event"
但是,当我运行查询时,我收到此错误:
Error: No matching signature for function IFNULL for argument types: STRING, INT64. Supported signature: IFNULL(ANY, ANY) at [4:9]
感谢您的帮助。
答案 0 :(得分:1)
检查doc。我认为你需要将int_value转换为字符串:
IFNULL(value.string_value, CAST(value.int_value AS STRING)) AS singleValueColumn