lower()
/ upper()
Use uno de estos para doblar caracteres a mayúsculas o minúsculas. Los caracteres especiales no se ven afectados:
SELECT count(*), lower(name), number
FROM tbl
GROUP BY lower(name), number
HAVING count(*) > 1;
unaccent()
Si realmente desea ignorar los signos diacríticos, como implican sus comentarios, instale el módulo adicional unaccent
, que proporciona un diccionario de búsqueda de texto que elimina los acentos y también la función de propósito general unaccent()
:
CREATE EXTENSION unaccent;
Lo hace muy simple:
SELECT lower(unaccent('Büßercafé'));
Resultado:
busercafe
Esto no elimina las no letras. Agregue regexp_replace()
como @Craig mencionó para eso:
SELECT lower(unaccent(regexp_replace('$s^o&f!t Büßercafé', '\W', '', 'g') ));
Resultado:
softbusercafe
Incluso puede crear un índice funcional además de eso: