Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

En versión 9, el backslash: ¿Quien le sustituye?

Estas en el tema de En versión 9, el backslash: ¿Quien le sustituye? en el foro de PostgreSQL en Foros del Web. Buenas foro: Estoy probando la vesión 9 (9.1.2) en un W$, y me encuentro que lo que hasta ahora venía usando con cierta normalidad (me ...
  #1 (permalink)  
Antiguo 27/01/2012, 08:07
Avatar de nekcab  
Fecha de Ingreso: noviembre-2004
Mensajes: 223
Antigüedad: 20 años, 1 mes
Puntos: 0
En versión 9, el backslash: ¿Quien le sustituye?

Buenas foro:

Estoy probando la vesión 9 (9.1.2) en un W$, y me encuentro que lo que hasta ahora venía usando con cierta normalidad (me daba aviso de que dejara de usar dicho carácter, el backslash, pero finalmente mostraba el resultado), que era el uso del carácter del backslash ( \ ) para mostrar carácteres literales (por ejemplo, si quería buscar resultados en un campo que incluyera un apóstrofe ( ' ) bastaba con:
Cita:
select $CAMPO from $BD where $CAMPO like '%\'%';
por ejemplo.

Pero ya veo que lo q en la versión 8.x.x venía anunciándose pero se permitía, ahora ya se han puesto duros, y se acabó lo que se daba.

El caso es que el aviso de las versiones anteriores a la 9, decía:
Cita:
WARNING: uso no estandar de \' en un literal de cadena
LÍNEA 1: select title,album from titulos where artist like '%\'%' ord...
^
SUGERENCIA: Use '' para escribir comillas en cadenas, o use la sintaxis de escape de cadenas (E'...').
Pero claro, ya hize y estoy haciendo todo tipo de pruebas con la "sugerencia" de:
Cita:
(E'...')
O sea, algo así como:
Cita:
select $CAMPO from $BD where $CAMPO like '%E'''%';
y nada.

¿Como se hace en las últimas versiones de Postgre SQL para indicar un LITERAL DE CADENA (que no sea el "backslash" famoso)?

Muchas gracias.
  #2 (permalink)  
Antiguo 27/01/2012, 09:55
Avatar de nekcab  
Fecha de Ingreso: noviembre-2004
Mensajes: 223
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: En versión 9, el backslash: ¿Quien le sustituye?

1º Colocaba mal la susodicha "E" (MAYS o minusc., da igual). Dicha letra va justo ANTES del primer apostrofe delimitador para la cadena a buscar
2º Es el carácter apóstrofe ( ' ) el que viene a sustiuir al backslash ( \ ) de ediciones anteriores.

Ejemplo en mi caso:
Cita:
select $CAMPO from $BD where $CAMPO=E'cadena'$CHARACTERcadena';
P.D.: Aquí una explicación por parte de colaboradores de Postgre SQL.

Última edición por nekcab; 27/01/2012 a las 11:07

Etiquetas: end, postgre, select, sql, versiones, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:00.