SQL Server - Error Consulta Dinamica en fechas

   
Vista:

Error Consulta Dinamica en fechas

Publicado por Jose Manuel (2 intervenciones) el 09/06/2016 00:28:14
Buen Dia.

chicos un tip para corregir un campo de fecha con una consulta dinamica?
esta funciona bien si no le pongo el rango de fechas pero si lo requiero

1
2
3
4
5
6
SET @sql = 'Select Fecha'+@QueryColumnas +'
	from mitabla
	where fecha between '+
	@Fechainicio +' and'  +	@FechaFin
	+' group by fecha order by fecha'
EXEC (@sql)

Msg 241, Level 16, State 1, Line 78
Conversion failed when converting datetime from character string.

Saludos y gracias por tu aporte.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Error Consulta Dinamica en fechas

Publicado por Isaias (3181 intervenciones) el 09/06/2016 17:10:35
¿En que formato entran tus datos de fecha?

Te recomiendo que las fechas las compares con >= y <=

Ademas, creo que te hace falta colocar tus fechas entre ' (tildes)

1
2
3
4
5
6
7
8
9
10
11
SET @sql = 'Select Fecha'+@QueryColumnas +'

	from mitabla

	where fecha between '+char(39) +
 
	@Fechainicio + char(39) +' and'  +	char(39) +@FechaFin
 
	+char(39) +' group by fecha order by fecha'
 
EXEC (@sql)

Por ultimo, si su motor es SQL Server, cambie la instruccion EXEC (@SQL), por un EXEC SP_EXECUTE @sql
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error Consulta Dinamica en fechas

Publicado por Jose Manuel (2 intervenciones) el 10/06/2016 16:38:27
hola muchas gracias, no supe como comentar las comillas siempre me marco error por eso era mi pregunta de como resolverlo, de momento ya pude ejecutar mi sentencia, les dejo el resultado final para futuras preguntas parecias.

saludos y graoias

1
2
3
4
5
6
7
SET @sql = N'Select day(Convert(datetime,Fecha,103)) Fecha'+@QueryColumnas +'
			from mitabla
			where fecha between @Fechainicio and @FechaFin 
			group by fecha having('+@Consultahaving +') order by fecha asc'
 
 
EXEC sp_executesql @sql, N'@Fechainicio datetime, @FechaFin datetime,@R1 int, @R2 int', @Fechainicio,@FechaFin,@R1,@R2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar