我使用的数据库会将JSON条目存储在LONGTEXT数据类型中。我想能够根据JSON数据选择条目。以下是一些示例数据:
我所用的数据库将JSON条目存储在LONGTEXT数据类型中。我希望能够根据JSON数据选择条目。以下是一些示例数据:
{
"12f9cb0a-2218-4590-a05d-c1ffab00f693": {
"0": {
"value": "test"
}
},
"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9": {
"item": {
"0": "11"
}
}
}
所以我想通过使用REGEXP函数过滤空格(制表符、空格、换行符),选择包含“4d1dfd2e-7bc1-4303-9c8c-90856e918bb9”:{“item”:{“0”:“11”}} 的数据,但我尝试了以下代码却没有成功:
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* 表达式。是否有更好的解决方案?
\s
。只需要使用双反斜杠\\s
即可。 - Matthias Gwiozda