2016-05-02 29 views
3

Ich stieß auf eine Abfrage in Postgres here, die den Operator @> auf Erdobjekten verwendet.Was macht der @> Operator in Postgres?

Ich habe überall gesucht, aber leer über die Bedeutung dieses Operators kommen (und wahrscheinlich andere mögen es, zB: @<, etc ...).

> ist offensichtlich. Ich fand auch, dass @ den absoluten Wert von etwas nehmen wird. Also meine beste Schätzung ist dies ein absolute greater than Vergleich zweier Werte?

Ist das korrekt? Wird dies irgendwo in den Postgres-Dokumenten dokumentiert? Ich bin noch neugieriger zu verstehen, was der Operator auf Erdgegenständen macht.

Danke!

Antwort

4
+0

Ich grub. Aber offensichtlich nicht tief genug. :-/ Dies ist perfekt. Vielen Dank! – lostdorje

+0

Wissen Sie, warum 'wählen (ARRAY [1464816152000] :: Bigint [] <@ ARRAY [1464816152000,1466906028002] :: bigint []) :: boolean;' ** ** falsch zurück, aber 'wählen (ARRAY [1464816152000] :: bigint [] <@ ARRAY [1464816152000,1] :: bigint []) :: boolean;' ** gibt wahr **? –

-2

Nach dem PostgreSQL Official Documentation

interval Werte geschrieben werden können, die folgende ausführliche Syntax:

[@] quantity unit [quantity unit...] [direction] wo quantity eine Zahl (ggf. signiert); Einheit ist Mikrosekunde, Millisekunde, Sekunde, Minute, Stunde, Tag, Woche, Monat, Jahr, Jahrzehnt, Jahrhundert, Jahrtausend oder Abkürzungen oder Plural dieser Einheiten; direction kann vor oder leer sein. Das at-Zeichen (@) ist ein optionales Rauschen. Die Beträge der verschiedenen Einheiten werden implizit mit der entsprechenden Vorzeichenrechnung hinzugefügt. vor negiert alle Felder. Diese Syntax wird auch für die Intervallausgabe verwendet, wenn IntervalStyle auf postgres_verbose gesetzt ist.

+1

Der '@>' Operator hat nichts mit Intervall zu tun Literale –