jueves, 12 de marzo de 2009

Comillas en MS SQL

Mas de programador ha necesitado alguna vez o va a necesitar concatenar scripts en SQL. El problema surge para cuando un parametro tiene que pasarse entre comillas y tu ya vienes con comillas abiertas.

En SQL no puedes empezar con comillas dobles, empiezas con las simples y acabas tus opciones. En otros lenguajes puedes usar comillas dobles dentro de la expresion comillas simples y funciona.

En Sql puedes usar lo siguiente chr(39) para mostrar una comilla simple.

Por ejemplo necesitaba pasar una consulta a una variable y los parametros devian ir con comillas. La solución la comparto a continuacion:

@script = '
SELECT CAMPO1, CAMPO2 FROM TABLA
WHERE [DeclFec] BETWEEN ' + char(39) + convert(varchar,@fechadesde,112) + char(39) + ' AND ' + char(39) + convert(varchar,@fechahasta,112) + char(39)

1 comentario:

Anónimo dijo...

Eso o:

@script = '
SELECT CAMPO1, CAMPO2 FROM TABLA
WHERE [DeclFec] BETWEEN ''' + convert(varchar,@fechadesde,112) + ''' AND ''' + convert(varchar,@fechahasta,112) + ''''