Principales respuestas
Deseo obtener una consulta SQL

Pregunta
-
Hola Amigos:
Tengo una Tabla que a continuación se detalla:
Tbl_Registro: idregistro(CP) as int, fecha_completa as datetime
Y la Tbl_Registro tiene estos datos:
1.......... 2018-05-04 08:00:00
2...........2018-04-28 10:24:39
3...........2018-05-08 16:00:00
4...........2018-05-08 00:00:00
5...........2018-05-08 00:00:00
6...........2018-05-10 00:00:00
Y CON UNA CONSULTA DESEO OBTENER LA FECHA COMPLETA DEL CAMPO "fecha_completa" as DATETIME, SIEMPRE EN CUANDO LA HORA SEA DIFERENTE DE LAS 00:00:00 HORAS, ASI COMO ESTÁ ABAJO:
IDREGISTRO, FECHA_COMPLETA:
1.......... 2018-05-04 08:00:00
2...........2018-04-28 10:24:39
3...........2018-05-08 16:00:00
4...........2018-05-08
5...........2018-05-08
6...........2018-05-10
Lo he intentado con esta consulta: SELECT idregistro, fecha_completa FROM Tbl_Registro
Pero no sale los datos que deseo obtener, yo sólo quiero que me aparezca la fecha completa cuando la hora sea diferente de las 00:00:00 horas.
Gracias de antemano.
- Editado Deivid Barrios miércoles, 9 de mayo de 2018 17:10
Respuestas
-
Hola Deivid Barrios:
Puede ser así
SELECT idregistro, fecha_completa, CASE WHEN(DATEPART(hour, fecha_completa)) + (DATEPART(minute, fecha_completa)) + (DATEPART(second, fecha_completa)) = 0 THEN CONVERT(VARCHAR(10), fecha_completa, 20) ELSE CONVERT(VARCHAR(19), fecha_completa, 20) END AS fecha FROM Tbl_Registro;
En el case evaluamos, que no tiene ni horas, ni minutos, ni segundos, dado que la suma de los tres valores es 0 y delvovemos, si es correcto, la fecha en formato corto.
Si es incorrecto, por tanto tiene horas, en formato largo.
Un saludo
- Marcado como respuesta Deivid Barrios miércoles, 9 de mayo de 2018 17:47
Todas las respuestas
-
Hola Deivid Barrios:
Puede ser así
SELECT idregistro, fecha_completa, CASE WHEN(DATEPART(hour, fecha_completa)) + (DATEPART(minute, fecha_completa)) + (DATEPART(second, fecha_completa)) = 0 THEN CONVERT(VARCHAR(10), fecha_completa, 20) ELSE CONVERT(VARCHAR(19), fecha_completa, 20) END AS fecha FROM Tbl_Registro;
En el case evaluamos, que no tiene ni horas, ni minutos, ni segundos, dado que la suma de los tres valores es 0 y delvovemos, si es correcto, la fecha en formato corto.
Si es incorrecto, por tanto tiene horas, en formato largo.
Un saludo
- Marcado como respuesta Deivid Barrios miércoles, 9 de mayo de 2018 17:47
-