menudo Queremos buscar un texto, sin importar el número de espacios, espacios en blanco y las letras.
Recorte, minúsculas y reemplace todos los caracteres sin palabras de una palabra por un espacio.
SELECT regexp_replace(trim(lower('Here is a long text , with many white spaces AND different character sensitive')),'\W+',' ','g') t
retorno: aquí es un texto largo con muchos espacios en blanco y caracteres diferente sensibles
Aquí es el uso para la búsqueda. Solo el orden de las palabras es importante, nada más. Y esto es hermoso.
select * from (
SELECT regexp_replace(trim(lower('Here is a long text , with many white spaces AND different character sensitive')),'\W+',' ','g') t
) as o
where t= regexp_replace(trim(lower('Here is a LonG TEXT , with mANY white ^ spaces AND different character sensiTive')),'\W+',' ','g')
retorno: aquí es un texto largo con muchos espacios en blanco y caracteres diferente sensibles
de Basuras de los datos y de la chatarra en la consulta, pero todavía se encuentra bien.
PostgreSQL o MySQL? La mejor solución puede ser diferente en cada caso. Intentar escribir algo que funcione en ambos suele ser una receta para una consulta lenta. –