База данных, в которой я работаю с магазинами записей JSON в типах данных LONGTEXT. Я хочу иметь возможность выбирать записи в зависимости от данных JSON. Вот некоторые примеры данных:MySQL REGEXP + whitespace ( 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 *. У кого-нибудь есть лучшее решение для этого?
Спасибо. Есть ли escape-последовательность C, которая обрабатывает вкладки, пробелы и новые строки? (альтернатива \ s) –
Повторно прочитайте, что запрос все равно ничего не возвращает :(Он разбивается с '"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9": \\ s *' ... '"4d1dfd2e-7bc1 -4303-9c8c-90856e918bb9 ": \\ s * {'не работает –
По-прежнему не повезло! Я пробовал ** \ {** и ** \\ {** –