Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problemas con los Cllatio Drivers. (https://www.clubdelphi.com/foros/showthread.php?t=14010)

tin 07-09-2004 12:39:00

Problemas con los Collation Drivers.
 
Hola a todos.
Este es un mensaje que continua un hilo que inicié hace unos meses sobre los Collation Drivers de Interbase.
El problema tiene que ver con los acentos en campos Varchar en Interbase.

El driver ES_ES funciona bien siempre que sea comparación exacta es decir.

Código:

select * from EMPLEADO where apellido='Perez' COLLATE ES_ES
Esto me devuelve Pérez,PErez,Pèrez.... es decir perfecto.

El problema surge cuando utilizo la clausula LIKE

Código:

select * from EMPLEADO where apellido LIKE '%Perez%' COLLATE ES_ES
Que es lo que debo usar para buscar en un campo que contiene nombre y apellidos.

En este caso no funciona y unicamente me devuelve los Perez sin acento.

Si alguien tiene experiencia en este campo agradecería una ayuda.

Saludos.

guillotmarc 07-09-2004 13:36:20

Hola.

Prueba con :

select * from EMPLEADO where apellido containing 'Perez' COLLATE ES_ES

Saludos.

tin 07-09-2004 17:18:38

Problema resuelto
 
Pues ya lo he resuelto, ha sido un poco laborioso pero se ha resuelto:

He creado una UDF que me convierte 'é' en 'e' por ejemplo.

de esta forma la consulta

SELECT * FROM T_EMPLEADO WHERE F_ACC(NOMBRE) LIKE '%Perez%';

Funciona perfecta y me devuelve lo que me tiene que devolver.

Gracias por las sugerencias Marc.

PD:_ Si alguien quiere la UDF que me diga cosas.

Saludos.


La franja horaria es GMT +2. Ahora son las 08:45:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi