Ana Smail escribió:
> Tengo un query que hace en el where:
> AND s.sucursal ILIKE '%4%'
> En 8.2 funciona y en 8.3 dá el error:
> 7 ERROR: el operador no existe: integer ~~* unknown LINE 22: 
> AND s.sucursal ILIKE "%4%" ORDER BY b.nombre, c.cuenta... ^ HINT: Ningún
> operador coincide con el nombre y el tipo de los argumentos. Puede desear
> agregar conversiones explícitas de tipos.

Prueba asi:
 AND s.sucursal::text ILIKE '%4%'

(Surge la pregunta: ¿tiene sentido hacer una comparacion LIKE para
buscar un número?)

> Encontré hace un tiempo un script para agregar el casteo ímplícito, pero no
> tiene nada del like. Necesito solucionar esto desde el motor, porque no
> puedo tocar la aplicación, alguno de Uds. sabe cómo?

¿Que no puedes tocar la aplicaciÓn??  Supongo que se puede modificar los
catalogos de manera que el cast a text desde integer sea implicito, pero
no es para nada recomendable.


> Tampoco funciona: ORDER by upper(2) 

Obviamente esto no funciona ... ¿cuál sería la mayúscula del número 2?
Esto debería "funcionar":
ORDER by upper('2') 

-- 
Alvaro Herrera                         http://www.flickr.com/photos/alvherre/
One man's impedance mismatch is another man's layer of abstraction.
(Lincoln Yeoh)
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
               http://archives.postgresql.org/pgsql-es-ayuda

Responder a