2
Betrachten dieses Beispiel:Wie Abfrage für leeres Array in JSONB?
postgres=# CREATE TABLE emptyarray (fields jsonb);
CREATE TABLE
postgres=# INSERT INTO emptyarray VALUES ('{"key":["a","b"]}');
INSERT 0 1
postgres=# INSERT INTO emptyarray VALUES ('{"key":[]}');
INSERT 0 1
postgres=# SELECT * from emptyarray where [email protected]>'{"key":["b"]}';
fields
---------------------
{"key": ["a", "b"]}
(1 row)
postgres=# SELECT * from emptyarray where [email protected]>'{"key":[]}';
fields
---------------------
{"key": ["a", "b"]}
{"key": []}
(2 rows)
In der zweiten Abfrage I nur eine Zeile in den Ergebnissen (der ein Datensatz mit leeren Array) erwartet. Aber wie Sie sehen können, gibt es zwei Zeilen im Ergebnis. Wie frage ich nach einem leeren Array mit @>
Syntax?
Ich bin mit PostgreSQL 9.6
Dank! Also wird die '@>' Syntax nicht für leere Arrays funktionieren? – baijum
@baijum Nun, ich könnte nicht 100% sicher sagen. Ich schlage nur eine Alternative vor. – lad2025
Ich erzeugte die Abfragen, also wäre eine konsistente Syntax einfacher gewesen :( – baijum