Muy útil, no había caído en los acentos. Lo que yo no sé es hasta que punto el ilike o ~* es estándar del sql.
Lo digo porque cuando yo programo algo lo intento hacer para intentar independizar lo máximo posible la base de datos de la aplicación, es decir que pueda usar mysql, o postgres o ms sql u otras. Pero creo que esto es otro tema.



Juanky Moral escribió:
Otra forma (la que yo suelo usar)
SELECT * FROM tabla WHERE  campo ~* 'uli';
(salen todos los campos que contienen el segmento 'uli')
Si quieres prescindir de acentos, puedes usar la función to_ascii()
SELECT * FROM tabla WHERE to_ascii(campo) ~* to_ascii('erez');
(salen los Perez, pérez, PeReZ, etc.)

El 7/07/05, Julio Ríos<julio.rios@amic.es> escribió:
  
 Gracias. :-)
 
 Xavier Vidal escribió: 
 
Pues sí.

PostgreSQL dispone de la cláusula ILIKE (compara sin tener en cuenta
maýusculas y minúsculas)

Por tanto, tu sentencia podría ser así:

SELECT * FROM tabla WHERE campo ILIKE 'julio';

Mírate este apartado en la web
http://www.postgresql.org/docs/8.0/interactive/functions-matching.html



 
 
 -----Mensaje original-----
De: pgsql-es-ayuda-owner@postgresql.org 
[mailto:pgsql-es-ayuda-owner@postgresql.org] En nombre de
Julio Ríos
Enviado el: miércoles, 06 de julio de 2005 9:24
Para: pgsql-es-ayuda@postgresql.org
Asunto: [pgsql-es-ayuda] mayúsculas y minúsculas en postgress

Hola yo tengo instalado Postgres 8.0.3 en WXP. He visto que 
existen las funciones lower y upper, que convierten a 
minúsculas o mayúsculas una cadena de texto respectivamente.

Mi pregunta es: ¿se puede configurar Postgres para que no 
distinga entre mayúsculas o minúsculas al hacer un select?
Ejemplo:

Yo tengo una tabla con un campo de texto con 3 filas con los siguiente
datos:
create table Tabla (campo varchar);
insert into Tabla(campo) values('julio'); insert into 
Tabla(campo) values('JULIO'); insert into Tabla(campo) 
values('Julio');

julio
JULIO
Julio

Si yo ejecuto la sentancia select * from tabla where campo = 
'julio', el resultado es una fila. (julio) Si yo ejecuto la 
sentancia select * from tabla where lower(campo) = 'julio', 
el resultado es tres filas. (julio, JULIO, Julio)

¿Se puede configurar la base de datos para que la primera 
sentencia me devuelva tres filas y así no incluir la función 
lower dentro de la sentencia SQL?

Un saludo, Julio.


---------------------------(fin del 
mensaje)---------------------------
TIP 7: no olvides aumentar la configuración del "free space map"