lower()
/ upper()
Gebruik een van deze om tekens naar hoofdletters of kleine letters te vouwen. Speciale tekens worden niet beïnvloed:
SELECT count(*), lower(name), number
FROM tbl
GROUP BY lower(name), number
HAVING count(*) > 1;
unaccent()
Als je diakritische tekens wilt negeren, zoals je opmerkingen impliceren, installeer dan de extra module unaccent
, dat een tekstzoekwoordenboek biedt dat accenten verwijdert en ook de algemene functie unaccent()
:
CREATE EXTENSION unaccent;
Maakt het heel eenvoudig:
SELECT lower(unaccent('Büßercafé'));
Resultaat:
busercafe
Dit verwijdert geen niet-letters. Voeg regexp_replace()
toe zoals @Craig daarvoor vermeldde:
SELECT lower(unaccent(regexp_replace('$s^o&f!t Büßercafé', '\W', '', 'g') ));
Resultaat:
softbusercafe
Je kunt er zelfs een functionele index bovenop bouwen: