検索

ホームページ  >  に質問  >  本文

MYSQLでPythonリスト値を抽出する

<p>MySQL データベースに、次のような <code>json</code> 形式の値の <code>Python リスト</code> を含む列があります。 </p> <テーブルクラス="s-テーブル"> <頭> <tr> <th>列</th> </tr> </頭> <みんな> <tr> <td>[{"名前":"私","色":"赤"} , {"名前":"あなた","色":"青"}]</td> </tr> </tbody> </テーブル> <p><code>json_extract()</code> 関数の形式が <code>json</code></p> とまったく同じではないため、使用できません。 <p>次のように、新しい列にフォーマットされた各 <code>json</code> を抽出したいと思います。 <テーブルクラス="s-テーブル"> <頭> <tr> <th>最初の列</th> <th>2 番目の列</th> </tr> </頭> <みんな> <tr> <td>{"名前": "I"、"色": "赤"}</td> <td>{"名前":"あなた","色":"青"}</td> </tr> </tbody> </table></p>
P粉153503989P粉153503989521日前532

全員に返信(2)返信します

  • P粉311617763

    P粉3116177632023-09-05 18:49:35

    次のクエリと文字列操作関数 SUBSTRING_INDEXREPLACE、および CONCAT を組み合わせると、期待どおりの結果が得られます。

    リーリー

    これは、DBFIDDLE を使用する 実際のデモンストレーションです

    これにより、期待される出力が得られます:

    最初の行 2列目
    {"名前": "I"、"色": "赤"} {"名前":"あなた","色":"青"}

    mytable を your_actual_table_name に置き換え、column を実際の列名に置き換えてください。列はSQLの予約キーワードであるため、列をバッククォートで囲みました。

    返事
    0
  • P粉445714413

    P粉4457144132023-09-05 17:11:12

    質問に含まれるサンプル列で JSON_EXTRACT を使用できるはずです:

    リーリー

    出力:

    最初の行 2列目
    {"名前": "I"、"色": "赤"} {"名前": "あなた"、"色": "青"}

    返事
    0
  • キャンセル返事