2017-01-05 2 views
0

Bitte beachten Sie Bild FolowingSuchdaten Ausgabe von mysql json Datentyp

enter image description here

Es dreispaltigen Rückkehr gelesen werden, wenn ich Abfrage

folgenden Lauf
SELECT measurment_list_t, measurment_list 
    FROM products where measurment_list->'$.weight.value' > '300'; 

Es sind Bedingungen zwei Reihe zeigen aber Es gibt drei Reihen.

Warum das passiert?

Antwort

0

Vermutlich, weil Sie Zeichenketten vergleichen, keine Ganzzahlen. Da die Zeichenfolge '300' vor allen '56', '356' und '756' sortiert ist, sehen Sie drei Zeilen. Wenn Sie die JSON-Nummern stattdessen als Ganzzahlen speichern oder explizit CAST measurment_list -> '$. Weight.value' zu UNSIGNED und dann mit 300 anstelle von '300' vergleichen, sollten Sie nur zwei Zeilen erhalten.

Hope this, Dag

+0

Vielen vielen Dank hilft Dag –