(this questionのもともと一部が、それは少し無関係だったので、私はそれ自身のの疑問作ることにしました。)演算子〜<〜Postgresの
に私はオペレータ~<~
が何であるかを見つけることができません。 Postgresのマニュアルには、~
と同様の演算子hereしか記載されていませんが、記号は~<~
です。
SELECT * FROM test ORDER BY name USING ~<~;
SELECT * FROM test ORDER BY name COLLATE "C";
そして、これらは逆の順序与える::また
SELECT * FROM test ORDER BY name USING ~>~;
SELECT * FROM test ORDER BY name COLLATE "C" DESC;
チルダ演算子のいくつかの情報をpsqlのコンソールでいじって、私はこれらのコマンドは、同じ結果を与えることが判明
:
\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)
3番目と4番目の行は、私が探している演算子ですが、desc riptionは私にとっては少し不十分です。
この演算子は、ルックアップのためのPostgresで使用されています。 http://www.postgresql.org/docs/9.5/static/indexes-opclass.html –
'test(name text_pattern_ops)'にインデックスを作成し、 'name LIKE 'abc%''の 'EXPLAIN'出力を見てください –