@@演算子 その2
co-sakaです。
@@演算子 - Ludia開発日記
PostgreSQL8.3の場合、@@演算子はTsearch2で使われてるから、
Ludiaでは使えないぞ、というのが前の日記でした。
Tsearch2をアンインストールしてね、という仕様でも良かったのですが、
素直に@@演算子を変更します。
http://postgresql.jp/document/pg825doc/html/sql-createoperator.html
http://www.postgresql.org/docs/8.3/static/sql-createoperator.html
このページにある、
+ - * / < > = ~ ! @ # % ^ & | ` ?
を組み合わせて使います。
SELECT oprname FROM pg_operator;
ここを見てみると、同じ文字二連続の場合、以下の7つは使われている。
--, ~~, !!, @@, ##, &&, ||
つまり、
++, **, //, <<, >>, ==, %%, ^^, ``, ??
が同じ文字二連続の候補。
さて、どうしようか?
案1、 SELECT * FROM tab WHERE col %% '検索'; 中間一致検索をイメージ。 案2、 SELECT * FROM tab WHERE col ?? '検索'; 検索っぽくて良い。 案3、 SELECT * FROM tab WHERE col == '検索'; 算術演算子を連想してしまう・・・。 案4、 SELECT * FROM tab WHERE col >^@^< '検索'; アスキーアート。
ご意見募集中!
メーリングリストにも流してみようか。
追記(2008/02/27)
案1になりました!
コメント、ありがとうございました!