- カテゴリ:
半構造化データ関数と構造化データ関数 (配列/オブジェクト)
OBJECT_DELETE¶
1つ以上のキーが削除された入力(つまり、ソース)オブジェクトのコンテンツを含むオブジェクトを返します。
構文¶
引数¶
objectソースオブジェクトです。
key1、key2返されるオブジェクトから省略されるキーです。
戻り値¶
この関数は OBJECT型の値を返します。
使用上の注意¶
構造化 OBJECTs の場合:
キーとなる引数には、定数を指定する必要があります。
指定されたキーが OBJECT 型定義の一部でない場合、呼び出しは失敗します。たとえば、 OBJECT 値には指定されたキー
zip_codeが含まれていないため、以下の呼び出しは失敗します。この関数は、構造化 OBJECT 値を返します。OBJECT 値の型は、削除されたキーを除きます。例えば、
cityキーを削除するとします。この関数は、
cityキーを含まないOBJECT(state VARCHAR)型の OBJECT 値を返します。関数が OBJECT 値からすべてのキーを削除した場合、関数は
OBJECT()型の空の構造化 OBJECT 値を返します。構造化 OBJECT 値の型にキーと値のペアが含まれる場合、それらのペアの名前と型は型の括弧内に含まれます(例: OBJECT(city VARCHAR))。空の構造化 OBJECT 値にはキーと値のペアが含まれないため、括弧は空です。
例¶
このクエリは、ソースオブジェクトからキー a と b を除いたオブジェクトを返します。
テーブルを作成し、 OBJECT 値の行を挿入します。この例では、 INSERT ステートメントに OBJECT 定数 を使用します。
テーブルをクエリしてデータを確認します。
クエリ出力から employee_date_of_birth キーを削除するには、以下のクエリを実行します。
``employee_contact``のネストされたオブジェクトをクエリし、そこから``phone``キーを削除して、ネストされた内部のキーと値のペアのみを返すには、次のクエリを実行します。
``employee_contact``のネストされたオブジェクトをクエリし、そこから``phone``キーを削除して、ネストされた内部のキーと値のペアだけではなく完全なオブジェクトを返すには、次のアクションを実行するクエリを実行します。
:doc:`/sql-reference/functions/object_insert`関数を呼び出し、最初の引数に``ov``列を指定します。関数は、各行のオブジェクト全体を起点として処理を開始します。
OBJECT_INSERTの呼び出しの2番目の引数には、更新対象の既存のキーとして``employee_contact``を指定します。
OBJECT_INSERTの呼び出しの3番目の引数では、OBJECT_DELETE関数を呼び出して、ネストされたオブジェクトから``phone``キーを削除します。
OBJECT_INSERTの呼び出しの最後の引数には、古いオブジェクトを新しいオブジェクトに置き換えるために``true``を指定します。
これらのアクションを実行するには、次のクエリを実行します。