这是我的查询
从表名限制 1 中选择 object_construct('id', id, alpha, PARSE_JSON(null))
输出是 { "id" :1, "alpha":null }
但是当我将parse_json与ifnull结合使用时,它返回空对象{}无法按预期工作
从表名限制 1 中选择 object_construct('id',IFNULL(id, (PARSE_JSON(null))), alpha, IFNULL(alpha, (PARSE_JSON(null)))
以上返回 {}
但我需要有空值 { "id" : 1, "alpha" : null }
结合没有任何解决方案?
[问题更新]
谢谢费利佩霍法。
在您的回答中,最后一部分按预期工作。
SELECT OBJECT_CONSTRUCT('id', id, 'alpha', IFNULL(alpha, PARSE_JSON('null')))
FROM (SELECT 1 id, null alpha)
# {"alpha": null, "id": 1}
但是当我尝试以下方法时,它不起作用
SELECT OBJECT_CONSTRUCT(
'id', id,
'alpha', IFNULL(alpha, PARSE_JSON('null'))
)
FROM (SELECT id, alpha from tableName)
#{ "id" :1 }
它在使用 FROM 查询时有效:FROM (SELECT 1 id, null alpha)
使用我的 FROM 查询时不起作用:FROM (SELECT id, alpha from tableName)
希望破灭。
提前致谢