OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

トランザクション処理、分析、AIワークロードに最適な分散データベース

デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
アイコン

OceanBaseデータベース

V4.3.5

    OceanBase logo

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについて法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. V4.3.5
    アイコンOceanBaseデータベース
    V 4.3.5
    • V 4.3.5

    JSON_ARRAY_INSERT

    最終更新日:2026-04-15 15:09:34  更新
    シェア
    このページの内容
    説明
    構文
    説明
    例

    折りたたみ

    シェア

    説明

    この関数は、配列をドキュメントに挿入し、変更後のドキュメントを返します。

    構文

    JSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)
    

    説明

    json_doc パラメータはJSONドキュメントを指定するために使用され、path はパスパラメータです。いずれかのパラメータが NULL の場合、NULL を返します。

    次の場合にエラーが発生します。

    • json_doc パラメータが有効なJSONドキュメントではありません。

    • path パラメータが有効なパス式ではありません。

    • path パラメータに * または ** ワイルドカードが含まれています。

    パス値ペア(path-value pair)は、左から右への順序で評価されます。評価されたパス値ペア(path-value pair)によって生成されるドキュメントは、次のペアの新しい値として使用されます。

    JSONドキュメント内でパスによって識別されない配列に属するパス値ペア(path-value pair)は無視されます。

    パスが特定の配列要素を識別した場合、その要素の位置に対応する値を挿入し、その後のすべての値を右に移動します。パスが識別した配列の位置が配列の末尾を超える場合、値は配列の末尾に挿入されます。

    例

    obclient> SET @jn = '["a", {"b": [1, 2]}, [3, 4]]';
    Query OK, 0 rows affected
    
    obclient> SELECT JSON_ARRAY_INSERT(@jn, '$[1]', 'x');
    +------------------------------------+
    | JSON_ARRAY_INSERT(@jn, '$[1]', 'x') |
    +------------------------------------+
    | ["a", "x", {"b": [1, 2]}, [3, 4]]  |
    +------------------------------------+
    1 row in set
    
    obclient> SELECT JSON_ARRAY_INSERT(@jn, '$[50]', 'x');
    +--------------------------------------+
    | JSON_ARRAY_INSERT(@jn, '$[100]', 'x') |
    +--------------------------------------+
    | ["a", {"b": [1, 2]}, [3, 4], "x"]    |
    +--------------------------------------+
    1 row in set
    
    obclient> SELECT JSON_ARRAY_INSERT(@jn, '$[1].b[0]', 'x');
    +-----------------------------------------+
    | JSON_ARRAY_INSERT(@jn, '$[1].b[0]', 'x') |
    +-----------------------------------------+
    | ["a", {"b": ["x", 1, 2]}, [3, 4]]       |
    +-----------------------------------------+
    1 row in set
    
    obclient> SELECT JSON_ARRAY_INSERT(@jn, '$[2][1]', 'y');
    +---------------------------------------+
    | JSON_ARRAY_INSERT(@jn, '$[2][1]', 'y') |
    +---------------------------------------+
    | ["a", {"b": [1, 2]}, [3, "y", 4]]     |
    +---------------------------------------+
    1 row in set
    
    obclient> SELECT JSON_ARRAY_INSERT(@n, '$[0]', 'x', '$[2][1]', 'y');
    +----------------------------------------------------+
    | JSON_ARRAY_INSERT(@jn, '$[0]', 'x', '$[2][1]', 'y') |
    +----------------------------------------------------+
    | ["x", "a", {"b": [1, 2]}, [3, 4]]                  |
    +----------------------------------------------------+
    1 row in set
    

    前のトピック

    JSON_APPEND
    最後

    次のトピック

    JSON_INSERT
    次
    このページの内容
    説明
    構文
    説明
    例