> -----Mensaje original----- > De: Xavier Guerra > > Hola en la version 8.1 y 8.2 no he probado en la 8.3, se > podia utilizar LIKE con tipos de datos integer ahora en la > 8.4.1 me da el siguiente error: > > ERROR: el operador no existe: integer ~~ unknown >
Efectivamente el operador LIKE (internamente denotado como ~~) no está definido para ser aplicado a un tipo entero. > mi duda es la siguiente, esto era un bug de esas versiones de > postgres o del SQL usado por esas versiones..? Ocurre que en versiones anteriores Postgres hacía casts implícitos al tipo de datos que necesitaba el operador. Ese comportamiento fue eliminado a partir de 8.3 y ahora debes hacer los casts explícitamente si ese es el comportamiento deseado. > > la consulta que hago es la siguiente > > SELECT campo_integer > FROM tabla > WHERE campo_integer LIKE '%' > > repito esto en la version 8.1 y 8.2 me funciona en la 8.3 no > he probado pero en la 8.4.1 que instale compilando los > fuentes me da el error. Funcionaba por lo que mencioné arriba. A partir de 8.3 en adelante lo puedes lograr cambiando la condición a la siguiente forma: WHERE campo_integer::text LIKE '%' Saludos, Fernando. -- TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo