ホームページ > データベース > mysql チュートリアル > オブジェクトの SQL 配列を JSON の値の配列に変換する方法 (SQL Server 2016)?

オブジェクトの SQL 配列を JSON の値の配列に変換する方法 (SQL Server 2016)?

Patricia Arquette
リリース: 2025-01-09 18:47:41
オリジナル
669 人が閲覧しました

How to Convert a SQL Array of Objects to an Array of Values in JSON (SQL Server 2016)?

SQL Server 2016 JSON 変換: オブジェクトの配列から値の配列へ

SQL Server 2016 は強力な JSON 機能を提供し、レポート作成と統合のためのデータ変換を簡素化します。 この例は、オブジェクトの SQL 配列を JSON 構造内のより単純な値の配列に変換するという一般的なニーズに対応します。

シナリオ:

次のようなデータを含むテーブル #temp について考えます。

#temp テーブル:

|アイテムID | |---|---| | 1234 | | 5678 | | 7890 |

目標は、このデータを JSON に変換し、item_id 値をオブジェクトの配列ではなく単一の配列として表すことです。

ターゲットの JSON 構造:

<code class="language-json">{
  "ids": [
    "1234",
    "5678",
    "7890"
  ]
}</code>
ログイン後にコピー
ログイン後にコピー

解決策:

この効率的なクエリは、目的の変換を実現します。

<code class="language-sql">SELECT  
    JSON_QUERY('[' + STUFF((
        SELECT ',' + '"' + CAST(item_id AS VARCHAR(MAX)) + '"' 
        FROM #temp
        FOR XML PATH('')),1,1,'') + ']' ) AS ids  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER;</code>
ログイン後にコピー

説明:

クエリは FOR XML PATH('') を巧みに使用して、引用符で囲まれた item_id 値のカンマ区切り文字列を作成します。 STUFF は先頭のカンマを削除します。 結果の文字列は角括弧 ([]) で囲まれて有効な JSON 配列を形成し、JSON_QUERY を使用して解析されます。最後に、FOR JSON PATH, WITHOUT_ARRAY_WRAPPER は出力を目的の JSON オブジェクトとしてフォーマットします。

出力:

クエリを実行すると、ターゲットの JSON 構造が生成されます:

<code class="language-json">{
  "ids": [
    "1234",
    "5678",
    "7890"
  ]
}</code>
ログイン後にコピー
ログイン後にコピー

このメソッドは、SQL Server 2016 内で JSON 配列変換を管理するための簡潔かつ効果的な方法を提供します。

以上がオブジェクトの SQL 配列を JSON の値の配列に変換する方法 (SQL Server 2016)?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート