lower()コード>
/ upper()
これらのいずれかを使用して、文字を小文字または大文字に折ります。特殊文字は影響を受けません:
SELECT count(*), lower(name), number
FROM tbl
GROUP BY lower(name), number
HAVING count(*) > 1;
unaccent()コード>
コメントが示すように、発音区別符号を実際に無視したい場合は、追加のモジュール<をインストールします。 code> unaccent
、アクセントを削除するテキスト検索辞書と、汎用関数 unaccent()
を提供します。 :
CREATE EXTENSION unaccent;
非常にシンプルになります:
SELECT lower(unaccent('Büßercafé'));
結果:
busercafe
これは非文字を削除しません。 regexp_replace()
を追加します そのために言及された@Craigのように:
SELECT lower(unaccent(regexp_replace('$s^o&f!t Büßercafé', '\W', '', 'g') ));
結果:
softbusercafe
その上に機能インデックスを作成することもできます: