Corchetes en SQL

Tengo una tabla, en SQL Server, en la que el indice es un campo alfanumérico. En este campo hay valores que contienen corchetes ([]), por ejemplo VALOR-[2], mi problema viene al hacer un select de esta tabla filtrando por este valor en concreto, porque SQL parece que tiene el carácter [] como reservado y entonces no me encuentra mi registro. Si el select pongo = 'VALOR-%2%', si que me funciona, pero no me sirve, porque puede existir el [12], [21] ...
Hay alguna solución, ¿truco o lo que sea para solucionar este problema?
Muchas gracias.
Por cierto, no vale decir que cambie el código, porque es técnicamente imposible por todo lo que conllevaría.. Je je

1 Respuesta

Respuesta
HOMbre, la solución en un poco complicada si no puedes cambiar el código, ya que como comentas el carácter [ es reservado es SQL.
Com porimera opcion se me ocurre que pongas la codificacion del caracter en ASCII, y luego realices en la cambio durante la ejecucion de la sentencia de dforma que la interprete com odebe.
No se si me he explicado bien, si tienes dudas de como hacerlo dímelo e intentare explayarme más.
Gracias porla rápida respuesta, pero ya he encontrado la solución. La instrucción SQL correcta es la siguiente:
select * from tabla where campo like 'DPP-76305-![2!]' ESCAPE '!'
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas