Ich habe eine Jsonb-Spalte, "Produkt" genannt, die ein ähnliches Jsonb-Objekt wie das Folgende enthält. Ich versuche herauszufinden, wie man eine LIKE-Anweisung gegen die gleichen Daten in einem postgresql 9.5 durchführt.Postgresql 9.5 JSONB verschachtelte Arrays LIKE-Anweisung
{
"name":"Some Product",
"variants":[
{
"color":"blue",
"skus":[
{
"uom":"each",
"code":"ZZWG002NCHZ-65"
},
{
"uom":"case",
"code":"ZZWG002NCHZ-65-CASE"
},
]
}
]}
Die folgende Abfrage funktioniert für die exakte Übereinstimmung.
Aber ich muss LIKE-Anweisungen wie "beginnt mit", "endet Breite" und "enthält" unterstützen. Wie würde das gemacht werden?
Beispiel: Sagen wir, ich möchte alle Produkte zurückgeben, die einen SKU-Code haben, der mit "ZZWG00" beginnt.
Wird dies noch die Vorteile von Indizes nutzen? – jfutch
Immer noch? Es gibt kein Wort über Indizes in der Frage. Welche Indizes meinst du? – klin
Meine Entschuldigung .. Ich verwende .. 'CREATE INDEX auf Produkte Verwendung von GIN (Produkt jsonb_path_ops);' – jfutch