これは私のクエリです
テーブル名から object_construct('id', id, alpha, PARSE_JSON(null)) を選択 制限 1
出力は { "id" :1, "alpha":null } です。
しかし、parse_jsonをifnullと組み合わせると、空のオブジェクト{}が返され、期待どおりに動作しません
select object_construct('id',IFNULL(id, (PARSE_JSON(null)), alpha, IFNULL(alpha, (PARSE_JSON(null))) from tablename limit 1
上記は {} を返します
しかし、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)
希望は晴れた。
前もって感謝します