[pyar] Web2py - Sintaxis en sql query con CONVERT

Luciano Bovio omicronvt en gmail.com
Lun Mar 12 17:23:18 -03 2018


Usando Web2py estoy necesitando buscar en un campo INTEGER como si fuera 
un VARCHAR y no puedo logralo. Es para un campo que contiene codigos de 
barra y no tengo acceso a cambiar la tabla de la DB.

La consulta que necesito es algo así:
select codigo from articulo where CONVERT(VARCHAR, codigo_barra) LIKE 
'%mi_variable_desde_formulario%'
(La pruebo en un consola sql y funciona OK)

Pero cuando lo intento con web2py no lo puedo lograr:

Si uso la DAL de Web2py no encuentro donde meter el CONVERT:
consulta=db(db.articulo.codigo_barra.contains('%s')%form.vars.mi_variable)
tira error :
<type 'exceptions.SyntaxError'> contains used with incompatible field type

Si intento usar directo el sql:
consulta=db.executesql("select codigo from articulo where 
CONVERT(VARCHAR, codigo_barra) LIKE '%%s%'"%form.vars.mi_variable) no se 
como escapar el simbolo % y termina dando error en la consulta.

Alguna idea ?

Muchas Gracias
Luciano





Más información sobre la lista de distribución pyar