私が使用しているデータベースは、JSONエントリをLONGTEXTデータ型に格納します。JSONデータに応じてエントリを選択できるようにしたい。データの例を次に示します。
{
"12f9cb0a-2218-4590-a05d-c1ffab00f693": {
"0": {
"value": "test"
}
},
"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9": {
"item": {
"0": "11"
}
}
}
したがって、 "4d1dfd2e-7bc1-4303-9c8c-90856e918bb9":{"item":{"0": "11"}}を含むデータを選択するには、 REGEXP関数、私はこれを無駄に試しました:
SELECT * FROM my_table WHERE (elements REGEXP BINARY '"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9":\s*{\s*"item":\s*{\s*"0":\s*"11"\s*}\s*}');
正規表現テストはRubularとRegexpal.comを使用して機能しますが、MYSQLは\s*式を好まないようです。誰かがこれに対するより良い解決策を持っていますか?