- カテゴリ:
半構造化データ関数と構造化データ関数 (配列/オブジェクト)
OBJECT_CONSTRUCT_KEEP_NULL¶
引数から構築された OBJECT を返します。
- こちらもご参照ください。
構文¶
OBJECT_CONSTRUCT_KEEP_NULL( [<key1>, <value1> [, <keyN>, <valueN> ...]] )
OBJECT_CONSTRUCT_KEEP_NULL( * )
戻り値¶
戻り値のデータ型は OBJECT です。
使用上の注意¶
この関数は、次のいずれかを受け入れます。
0個以上のキーと値のペアにおけるシーケンス(キーは文字列で、値は任意の型)。
アスタリスク。
アスタリスクで呼び出されると、オブジェクトは属性名をキーとして、関連するタプル値を値として使用して構築されます。以下の例をご参照ください。
キーが NULL (つまり SQL NULL)の場合、キーと値のペアは結果のオブジェクトから省略されます。ただし、値がnullの場合、キーと値のペアは保持されます。
構築されたオブジェクトは、キーと値のペアにおける元の順序を保持するとは限りません。
例¶
この例は、 OBJECT_CONSTRUCT と OBJECT_CONSTRUCT_KEEP_NULL の違いを示しています。
SELECT OBJECT_CONSTRUCT('key_1', 'one', 'key_2', NULL) AS WITHOUT_KEEP_NULL, OBJECT_CONSTRUCT_KEEP_NULL('key_1', 'one', 'key_2', NULL) AS KEEP_NULL_1, OBJECT_CONSTRUCT_KEEP_NULL('key_1', 'one', NULL, 'two') AS KEEP_NULL_2 ; +-------------------+-------------------+------------------+ | WITHOUT_KEEP_NULL | KEEP_NULL_1 | KEEP_NULL_2 | |-------------------+-------------------+------------------| | { | { | { | | "key_1": "one" | "key_1": "one", | "key_1": "one" | | } | "key_2": null | } | | | } | | +-------------------+-------------------+------------------+
次の例も OBJECT_CONSTRUCT と OBJECT_CONSTRUCT_KEEP NULL の違いを示していますが、この例では小さなテーブル(クエリの前に表示)を使用しています。
SELECT * FROM demo_table_1 ORDER BY province; +------------------+--------------+ | PROVINCE | CREATED_DATE | |------------------+--------------| | Alberta | 2020-01-19 | | British Columbia | NULL | | Manitoba | 2020-01-18 | | NULL | 2020-01-20 | +------------------+--------------+SELECT OBJECT_CONSTRUCT(*) AS oc, OBJECT_CONSTRUCT_KEEP_NULL(*) AS oc_keep_null FROM demo_table_1 ORDER BY oc_keep_null['PROVINCE']; +----------------------------------+----------------------------------+ | OC | OC_KEEP_NULL | |----------------------------------+----------------------------------| | { | { | | "CREATED_DATE": "2020-01-19", | "CREATED_DATE": "2020-01-19", | | "PROVINCE": "Alberta" | "PROVINCE": "Alberta" | | } | } | | { | { | | "PROVINCE": "British Columbia" | "CREATED_DATE": null, | | } | "PROVINCE": "British Columbia" | | | } | | { | { | | "CREATED_DATE": "2020-01-18", | "CREATED_DATE": "2020-01-18", | | "PROVINCE": "Manitoba" | "PROVINCE": "Manitoba" | | } | } | | { | { | | "CREATED_DATE": "2020-01-20" | "CREATED_DATE": "2020-01-20", | | } | "PROVINCE": null | | | } | +----------------------------------+----------------------------------+
密接に関連する関数 OBJECT_CONSTRUCT を使用する例については、 OBJECT_CONSTRUCT をご参照ください。