我使用的数据库将JSON条目存储在LONGTEXT数据类型中。我希望能够根据JSON数据来选择条目。下面是一些示例数据:MySQL REGEXP +空格( s)
{
"12f9cb0a-2218-4590-a05d-c1ffab00f693": {
"0": {
"value": "test"
}
},
"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9": {
"item": {
"0": "11"
}
}
}
所以我想选择包含“4d1dfd2e-7bc1-4303-9c8c-90856e918bb9” 数据:{ “项目”:{ “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 *。有没有人有更好的解决方案呢?
感谢。是否有C转义序列处理制表符,空格和新行? (\ s的替代) – 2013-03-21 21:17:57
重新阅读,查询仍然返回任何内容:(。它从''4d1dfd2e-7bc1-4303-9c8c-90856e918bb9“中断:\\ s *'...'”4d1dfd2e-7bc1 -4303-9c8c-90856e918bb9“:\\ s * {'不起作用 – 2013-03-21 21:22:48
仍然没有运气!我试过** \ {**和** \\ {** – 2013-03-21 21:29:43