Die Datenbank, die ich mit Geschäften JSON Einträge in LONGDatenTypen arbeiten. Ich möchte Einträge abhängig von den JSON-Daten auswählen können. Hier einige Beispieldaten:MySQL REGEXP + Leerzeichen ( s)
{
"12f9cb0a-2218-4590-a05d-c1ffab00f693": {
"0": {
"value": "test"
}
},
"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9": {
"item": {
"0": "11"
}
}
}
Deshalb möchte ich Daten auszuwählen, die "4d1dfd2e-7bc1-4303-9c8c-90856e918bb9" enthält: { "item": { "0": "11"}} durch heraus~~POS=TRUNC der Leerzeichen (Tabulatoren, Leerzeichen, Zeilenumbrüche) die REGEXP-Funktion habe ich dies ohne Erfolg versucht:
SELECT * FROM my_table WHERE (elements REGEXP BINARY '"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9":\s*{\s*"item":\s*{\s*"0":\s*"11"\s*}\s*}');
die Regex Test funktioniert mit Rubular und Regexpal.com aber MYSQL scheint nicht zu mögen die \ s * Ausdruck. Hat jemand eine bessere Lösung dafür?
Dank. Gibt es eine C-Escape-Sequenz, die Tabulatoren, Leerzeichen UND neue Zeilen behandelt? (eine Alternative zu \ s) –
Re-lesen, dass die Abfrage immer noch nichts zurückgibt :(. Es bricht von '"4d1dfd2e-7bc1-4303-9c8c-90856e918bb9": \\ s *' ... '"4d1dfd2e-7bc1 -4303-9c8c-90856e918bb9 ": \\ s * {'funktioniert nicht –
Immer noch kein Glück! Ich habe versucht ** \ {** und ** \\ {** –