Problema consulta sql server 2005 carácter '

Cerrado
Netero - 13 ago 2009 a las 11:55
 Elinv - 13 ago 2009 a las 16:24
Hola,

Tengo un problema al intentar sacar los datos de una columna de una base de datos sql server 2005.

El problema es que el contenido de la columna de la que quiero obtener los datos, son descripciones de productos, y alguna de ellas tiene en su descripción el carácter '. Por ejemplo, quiero obtener el código del producto cuya descriopción de producto es L'EQUIPE NEWSPAPER, por lo que la consulta sería: SELECT product_code from productos where product_description =' L'EQUIPE NEWSPAPER'.

El problema es que sql interpreta el carácter ' que va después de la L como cierre de la consulta select, por lo que peta y no devuelve nada.

Alguna idea para solucionar el problema??

Muchas gracias, un saludo
Consulta también:

2 respuestas

Hola Netero:

Pruebe a investigar con la utilización de caracteres de escape que convierten caracteres especiales en comunes.
Intente probar una de las siguientes soluciones:

-------------------------------------------------------
SELECT columns FROM table WHERE
column LIKE '%[%]%'

-- o ----

SELECT columns FROM table WHERE
column LIKE '%\%%' ESCAPE '\'

-------------------------------------------------------

La primera consulta "delimita" el carácter especial con corchetes, diciendo que que debe ser tratado como un carácter literal en lugar de un carácter con un significado especial.


La segunda consulta utiliza un carácter de escape personalizado - que puedes usar cualquiera que le guste, simplemente debe tener cuidado de que no vaya a ser utilizado como parte de la cadena literal.


Espero sinceramente que le ayude a encontrar la solución.

Un fuerte abrazo desde Bragado, Provincia de Buenos Aires, Argentina.


Elinv
Luis
----------------------------
Webs
----------------------------
http://www.bragadomas.com.ar/
http://www1.bragadomas.com/?tm=1&kw=music&KW1=Searchable%20MP3%20Database%20Software&KW2=Music%20Streaming%20Dedicated%20Server&KW3=Ringtone%20Database%20Management%20Software&searchbox=0&domainname=0&backfill=0
https://bragadohoy.blogspot.com/
----------------------------
Mail
----------------------------
info@bragadomas.com
----------------------------
Foros:
----------------------------
http://www.foroswebgratis.com/foro-foro_de_programacion_en_general-152776.htm
http://www1.bragadomas.com/?tm=1&kw=music&KW1=Searchable%20MP3%20Database%20Software&KW2=Music%20Streaming%20Dedicated%20Server&KW3=Ringtone%20Database%20Management%20Software&searchbox=0&domainname=0&backfill=0
----------------------------
1
Muchas gracias por tu respuesta Elinv!

Ya lo solucioné y de una forma muy sencilla, simplemente sustituyendo el carácet ' por ''. De esta forma, sql server no rompe la cadena y reconoce la descripción completa.

Muchas gracias por tu idea de todas formas.

Un saludo desde Bilbao, País vasco!
0
Un placer y una alegría que lo hayas solucionado.


Elinv
0