Principales respuestas
Restar Fecha en sql server

Pregunta
-
Respuestas
-
Hola Abram N. Cueva:
Para las diferencias entre fechas, se utiliza la función DateDiff
CREATE TABLE d1 (id INT, fecha_hora_entrada DATETIME, fecha_hora_salida DATETIME ); GO INSERT INTO d1 (id, fecha_hora_entrada, fecha_hora_salida ) VALUES (1, '20180803 17:11:24.000', '20180803 17:55:33.300' ), (1, '20180803 09:05:04.000', '20180803 19:00:33.300' ), (1, '20180803 10:26:12.000', '20180803 18:51:33.300' ), (1, '20180803 14:31:33.000', '20180803 19:12:33.300' ), (1, '20180803 15:44:55.000', '20180803 21:44:33.300' ); GO SELECT id, fecha_hora_entrada, fecha_hora_salida, DATEDIFF(minute, fecha_hora_entrada, fecha_hora_salida) AS diferencia_minutos, DATEDIFF(hour, fecha_hora_entrada, fecha_hora_salida) AS diferencia_horas FROM d1;
- Propuesto como respuesta Pablo RubioModerator miércoles, 8 de agosto de 2018 14:47
- Marcado como respuesta Pablo RubioModerator viernes, 10 de agosto de 2018 14:35
Todas las respuestas
-
Hola Abram N. Cueva:
Para las diferencias entre fechas, se utiliza la función DateDiff
CREATE TABLE d1 (id INT, fecha_hora_entrada DATETIME, fecha_hora_salida DATETIME ); GO INSERT INTO d1 (id, fecha_hora_entrada, fecha_hora_salida ) VALUES (1, '20180803 17:11:24.000', '20180803 17:55:33.300' ), (1, '20180803 09:05:04.000', '20180803 19:00:33.300' ), (1, '20180803 10:26:12.000', '20180803 18:51:33.300' ), (1, '20180803 14:31:33.000', '20180803 19:12:33.300' ), (1, '20180803 15:44:55.000', '20180803 21:44:33.300' ); GO SELECT id, fecha_hora_entrada, fecha_hora_salida, DATEDIFF(minute, fecha_hora_entrada, fecha_hora_salida) AS diferencia_minutos, DATEDIFF(hour, fecha_hora_entrada, fecha_hora_salida) AS diferencia_horas FROM d1;
- Propuesto como respuesta Pablo RubioModerator miércoles, 8 de agosto de 2018 14:47
- Marcado como respuesta Pablo RubioModerator viernes, 10 de agosto de 2018 14:35
-
Hola, estuve haciendo unos cambios a la consulta, para que las entradas y las salidas me las muestra, como ven en la siguiente imagen
quiziera saber como podria hacer para que la fecha de salida aparezca en la misma fila de fecha de entrada.
Mi codigo es el siguiente:
SELECT dbo.Trabajador.Id_Trabajador AS ID_TRABAJADOR,
dbo.Trabajador.Nombre + ' ' + dbo.Trabajador.Apellido_Pat + ' ' + dbo.Trabajador.Apellido_Mat AS NOMBRE,
dbo.Trabajador.Nro_Documento AS [DOC.],
dbo.Profesion_Ocupacion.Prof_Ocup AS PROF_OCUPACION, dbo.Sucursal.Sucursal, dbo._Asistencia.Valido,
(CASE WHEN Entrada_Salida = 'ENTRADA' THEN [FechaAsistencia] ELSE 0 END) AS ENTRADA,
(CASE WHEN Entrada_Salida = 'SALIDA' THEN [FechaAsistencia] ELSE 0 END) AS SALIDA
FROM dbo._Asistencia INNER JOIN
dbo.Trabajador ON dbo._Asistencia.Id_Trabajador = dbo.Trabajador.Id_Trabajador INNER JOIN
dbo.Sucursal ON dbo.Sucursal.Id_Sucursal = dbo.Trabajador.Id_Sucursal INNER JOIN
dbo.Profesion_Ocupacion ON dbo.Profesion_Ocupacion.Id_prof_ocup = dbo.Trabajador.Id_prof_ocup
-