MySQLでJSON_LENGTHとJSON_EXTRACTを組み合わせる方法は?

ブライアン

次のようなMySQLテーブルがあるとしましょう。

ここに画像の説明を入力してください

このテーブルは、

CREATE TABLE `MyTable` (
`JsonData` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
`ExtractedData` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL
);

INSERT INTO MyTable (JsonData, ExtractedData)
VALUES ('[10, 20, 30]', NULL);

INSERT INTO MyTable (JsonData, ExtractedData)
VALUES ('["a", "b"]', NULL);

INSERT INTO MyTable (JsonData, ExtractedData)
VALUES ('["q", "w", "e", "r"]', NULL);

jsonデータの最後から2番目の要素をにコピーするにはどうすればよいExtractedDataですか?

つまり、次のようにテーブルを更新したいということです。

ここに画像の説明を入力してください

私はそれselect @len := JSON_LENGTH(JsonData) from MyTable;がすべての長さを取得できることを発見しましたJsonData

またUPDATE MyTable SET ExtractedData = JSON_EXTRACT(JsonData, '$[0]');、の最初の要素をにコピーできることもわかりましJsonDataExtractedData

最後から2番目の要素をコピーできるように2つのコマンドを組み合わせるにはどうすればよいExtracedDataですか?

UPDATE MyTable SET ExtractedData = JSON_EXTRACT(JsonData, '$[@len-2]'); 動作しません。

外典

@lenここに表があります。各更新行に自動マップすることはできません。

あなたは長さをインライン化する必要があります、例えば

UPDATE MyTable SET ExtractedData = JSON_EXTRACT(JsonData, CONCAT('$[',JSON_LENGTH(JsonData)-1,']'));

https://www.db-fiddle.com/f/6PC2CaBxwDdfpruECqAjGR/1でフィドルを確認してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

MySQLでhave()とmin()を組み合わせる方法

CSSで太字と斜体を組み合わせる方法は?

javascriptで姓と名を組み合わせる方法は?

MYSQLクエリで「LIKE」と「IN」を組み合わせる方法は?

1つのJsonを別のJsonと組み合わせる(JAVA)

'setup'出力とJSONへのタスク出力をAnsibleで組み合わせる

MariaDBでCONCAT()とWHEREを組み合わせる方法は?

JSON呼び出しを組み合わせて選択する方法は?

ここでGROUPBYとORDERBYを組み合わせる方法は?

json_extract mysqlに動的キーを入力する方法は?

Angular8で2つのJSONファイルを組み合わせる方法

codeigniterで「foreach」と値を組み合わせる方法は?

mongoDBで$ inと$ regexを組み合わせる方法は?

FragmentActivityでListFragmentを通常のFragmentと組み合わせる方法は?

d3 json変数を組み合わせる方法はありますか?

Mongoid 4でany_ofとbetweenを組み合わせる方法は?

PHPタグの外部でhtmlとphpを組み合わせてjson_encodeを使用する方法

MysqlここでGROUPBYとCOUNTを組み合わせる方法

マングースでANDとORを組み合わせる方法は?

2つのJavaScript配列を1つのJSONに組み合わせる方法は?

MySql:特定の行のみを組み合わせる方法は?

PHPでアレイとJsonを組み合わせる

tkinterFiledialogをjson.dumpと組み合わせる

React Navigation 5でStackNavigatorとTabNavigatorを組み合わせる方法は?

2つのjsonデータを異なるキーで同じ値のphpと組み合わせる方法

C#リストの一部である複数のJSON配列を組み合わせる方法は?

SQLiteでLIKEとCASEWHENを組み合わせる方法は?

Laravel + Swaggerでプロパティとjson応答を組み合わせる方法は?

JavaScript で複雑な JSON オブジェクトを組み合わせる方法

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    Ansibleで複数行のシェルスクリプトを実行する方法

  3. 3

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  4. 4

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    パンダは異なる名前の列に追加します

  8. 8

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  9. 9

    グラフ(.PNG)ファイルをエクスポートするZabbix

  10. 10

    Chromeウェブアプリのウェブビューの高さの問題

  11. 11

    ラベルとエントリがpythontkinterに表示されないのはなぜですか?

  12. 12

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  13. 13

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  14. 14

    Reactでclsxを使用する方法

  15. 15

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  16. 16

    テキストフィールドの値に基づいて UIslider を移動します

  17. 17

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  18. 18

    MLでのデータ前処理の背後にある直感

  19. 19

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  20. 20

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  21. 21

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

ホットタグ

アーカイブ