Parametro Fechas - Procedur
Publicado por Beto (7 intervenciones) el 10/04/2018 18:46:50
Buen día
Amigos
Tengo:
Pero cuando hago correr:
Declare @nombre nvarchar(100), @dni nvarchar(8),@fecha date,@hora nvarchar(100), @horatotal nvarchar(100)
exec dbo.usp_MarcadoTrabajador_lst 64, '20180201', '20180229'
Me sale error:
Mens 8114, Nivel 16, Estado 5, Procedimiento usp_MarcadoTrabajador_lst, Línea 0
Error al convertir el tipo de datos varchar a date.
Porfavor si alguien me puede ayudar, a la hora de mandar el EXEC, creo que ahí esta mi duda.
Desea obtener datos desde un rango de fechas.
Gracias.
Amigos
Tengo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Create Procedure usp_MarcadoTrabajador_lst
@codigo int,
@fechaIni date,
@fechaFin date
as
if @codigo is null or @codigo = ''
Begin
print 'Debe ingresar una letra valida.'
print 'No se ejecutara el procedimiento almacenado.'
return
end
begin transaction
SELECT DISTINCT
0 AS Item
,A.USERID
,A.NAME AS Nombre
,A.SSN AS DNI
,CONVERT(DATE, B.CHECKTIME) AS Fecha
,CAST(DATEPART(HOUR, B.CHECKTIME) AS CHAR(2))+':' +
CASE WHEN LEN(CAST(DATEPART(MINUTE, B.CHECKTIME) AS CHAR(2))) = 1
THEN REPLICATE ('0', 1) + CAST(DATEPART(MINUTE, B.CHECKTIME) AS CHAR(2))
ELSE CAST(DATEPART(MINUTE, B.CHECKTIME) AS CHAR(2))
END As Hora
,CONVERT(VARCHAR,B.CHECKTIME,108)AS HoraTotal
FROM dbo.USUARIO AS A
INNER JOIN .[dbo].[MARCADOR] AS B ON A.USERID = B.USERID
WHERE A.USERID = @codigo
And CONVERT(DATE,CHECKTIME) >= @fechaIni
And CONVERT(DATE,CHECKTIME) <=@fechaFin
If @@ERROR <> 0
begin
rollback tran
return
end
Commit Transaction
go
Pero cuando hago correr:
Declare @nombre nvarchar(100), @dni nvarchar(8),@fecha date,@hora nvarchar(100), @horatotal nvarchar(100)
exec dbo.usp_MarcadoTrabajador_lst 64, '20180201', '20180229'
Me sale error:
Mens 8114, Nivel 16, Estado 5, Procedimiento usp_MarcadoTrabajador_lst, Línea 0
Error al convertir el tipo de datos varchar a date.
Porfavor si alguien me puede ayudar, a la hora de mandar el EXEC, creo que ahí esta mi duda.
Desea obtener datos desde un rango de fechas.
Gracias.
Valora esta pregunta


0