(ursprünglich Teil this question, aber es war etwas irrelevant, so habe ich beschlossen, es eine Frage der eigenen zu machen.)Operator ~ <~ in Postgres
Ich kann nicht finden, was der Betreiber ~<~
ist. Das Postgres Handbuch erwähnt nur ~
und ähnliche Operatoren here, aber kein Zeichen von ~<~
.
Wenn in der psql Konsole Hantieren, fand ich heraus, dass diese Befehle die gleichen Ergebnisse liefern:
SELECT * FROM test ORDER BY name USING ~<~;
SELECT * FROM test ORDER BY name COLLATE "C";
und diese gibt die umgekehrte Reihenfolge:
SELECT * FROM test ORDER BY name USING ~>~;
SELECT * FROM test ORDER BY name COLLATE "C" DESC;
auch einige Informationen über die Tilde-Betreiber :
\do ~*~
List of operators
Schema | Name | Left arg type | Right arg type | Result type | Description
------------+------+---------------+----------------+-------------+-------------------------
pg_catalog | ~<=~ | character | character | boolean | less than or equal
pg_catalog | ~<=~ | text | text | boolean | less than or equal
pg_catalog | ~<~ | character | character | boolean | less than
pg_catalog | ~<~ | text | text | boolean | less than
pg_catalog | ~>=~ | character | character | boolean | greater than or equal
pg_catalog | ~>=~ | text | text | boolean | greater than or equal
pg_catalog | ~>~ | character | character | boolean | greater than
pg_catalog | ~>~ | text | text | boolean | greater than
pg_catalog | ~~ | bytea | bytea | boolean | matches LIKE expression
pg_catalog | ~~ | character | text | boolean | matches LIKE expression
pg_catalog | ~~ | name | text | boolean | matches LIKE expression
pg_catalog | ~~ | text | text | boolean | matches LIKE expression
(12 rows)
die 3. und 4. Reihen ist der Betreiber, die ich suche, aber die DESC Für mich ist das ein bisschen ungenügend.
Dieser Operator wird von Postgres für die Suche verwendet, wenn Sie einen Index mit opclass haben. http://www.postgresql.org/docs/9.5/static/indexes-opclass.html –
Erstellen Sie einen Index für 'test (name text_pattern_ops)' und sehen Sie sich die 'EXPLAIN' Ausgabe für' name LIKE 'abc%' 'an –