problema con cadena %s y consulta

Daniel Ripolles dripolles+python.es en gmail.com
Lun Mayo 4 18:18:04 CEST 2009


Usa %% para representar un % dentro de una cadena donde se van a
producir sustituciones, como en el caso de tu sql:

sql = "select algo from tablaca where campo like '%%wow%%'"



El día 4 de mayo de 2009 18:11,  <inf200468 en ucf.edu.cu> escribió:
>
>
> esta funcion es la que da error por los %
> def GenerarAlarmaPatronesUrl(self):
>         conex=Conexion.conectar(self)
>         idlog=self.DeterminarIDTraza() #obtengo el
> id de la traza
>         fecha =
> self.DeterminarUltimaFecha() #obtengo la fecha del fichero
>         params=(idlog)
>         sql=self.ObtenerPatrones()
>
>         print params
>         sql=r"select * from apache_access
> where url like '%www%'"
>         print
> sql
>         result
> =Conexion.ConsultaSelect(self,conex,sql)
>> inf200468 en ucf.edu.cu escribió:
>
>>>
>>> ok, voy a probar
>>> gracias
>>>
> puedo poner r'select * from apache where�url
>>> like \'%google%\' '�� ????
>
>>>
>>>
>>>
>>
>> Ademas de usar raw
> strings podrias escapar los % con dos % seguidos, lo
>> que te permite mezclar
> facilmente %s con % dentro de la cadena. Por ejemplo:
>>
>>>>>
> "select * from %s = '%%xxx%%'" % "campo"
>> "select *
> from campo = '%xxx%'"
>>>>>
>>
>>>
>>>> Puedes probar
>>> escribiendo la cadena como
>>>> r'%google%'
>>>>
>>>> La r
>>>
> hace que la cadena se tome como raw, y que todos los caracteres se
>>>
> interpreten como lo que son y no por sus significados especiales.
>>>>
>>> Saludos,
>>>> Miguel.
>>>>
>>>> El
> lun, 04-05-2009 a las 09:29 -0400,
>>> inf200468 en ucf.edu.cu escribi�:
>>>>> Hola , tengo que
>>> hacer una consulta a una bd postgre,
> yo uso psycopg2 , pero la cadena
>>>>> de
>>> la consulta
> usa like, de la siguiente manera:
>>>>> select * from apache where
>>> url
>>>>> like '%google%'
>>>>> pero da un
> error y debe ser por los %,
>>> como saben se usan para
>>>>> concatenarle un string en una posicion
>>> determinada,
>
>>>>> si alguien puede decirme
>>>>> una solucion
>>>>> gracias
>>>>> saludos
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
> ------------------------------------------------------------------------
>>>>>
>>>>>
> _______________________________________________
>>>>> Lista de correo
> Python-es
>>>>> http://listas.aditel.org/listinfo/python-es
>>>>> FAQ: http://listas.aditel.org/faqpyes
>>
>>
> _______________________________________________
>> Lista de correo Python-es
>> http://listas.aditel.org/listinfo/python-es
>> FAQ:
> http://listas.aditel.org/faqpyes
>
>
>
> --
> Participe en Universidad 2010,
> del 8 al 12 de febrero del 2010
> La Habana, Cuba
> http://www.universidad2010.cu
> http://www.universidad2010.com
>
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>



-- 
Daniel Ripolles
Make source, not war
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es