¿Cómo puedo TRUNCAR la fecha en SQL Server 2008 como esto:Truncar a solamente hora/minuto
tengo 2012-01-02 12:04:11.443
y solo quiere seleccionar 2012-01-02 12:00:00.000
y 2012-01-02 12:04:00.000
(hora y el nivel minuto)
¿Cómo puedo TRUNCAR la fecha en SQL Server 2008 como esto:Truncar a solamente hora/minuto
tengo 2012-01-02 12:04:11.443
y solo quiere seleccionar 2012-01-02 12:00:00.000
y 2012-01-02 12:04:00.000
(hora y el nivel minuto)
declare @D as datetime = '2012-01-02T12:04:11.443'
select dateadd(hour, datediff(hour, 0, @D), 0)
select dateadd(minute, datediff(minute, 0, @D), 0)
Este parece funcionar:
select [Rounded Time] =
dateadd(mi,datediff(mi,0,dateadd(ss,30,a.DT)),0)
from
(
select dt = convert(datetime,'8:24:29.997')
union all
select dt = convert(datetime,'8:24:30.000')
) a
resultados:
Rounded Time
------------------------------------------------------
1900-01-01 08:24:00.000
1900-01-01 08:25:00.000
(2 row(s) affected)
Si publica código, XML o muestras de datos, ** POR FAVOR ** resalte esas líneas en el editor de texto y haga clic en el botón "muestras de código" ('{}') en el editor barra de herramientas para formatear y sintaxis muy bien, ¡destaquelo! –
bien lo haremos la próxima vez :-) – SmartestVEGA
gracias por la respuesta .. Mikael Eriksson tiene una respuesta más simple. También + 1 para la respuesta. Gracias – pufos
estoy usando algo como esto:
DATEADD(hour,DATEDIFF(hour,'2000-01-01 00:00',[timestamp]),'2000-01-01 00:00')
Se puede utilizar esta fórmula para truncar a otros niveles, es decir, minutos:
DATEADD(minutes,DATEDIFF(minutes,'2000-01-01 00:00',[timestamp]),'2000-01-01 00:00')
Usted debe recordar que si usted está truncando al segundo nivel, la diferencia máxima entre la fecha base y [marca de tiempo] es de 68 años.
posible duplicado de [¿Cómo puedo truncar una fecha y hora en SQL Server?] (Http://stackoverflow.com/questions/923295/how-can-i-truncate-a-datetime-in-sql-server) –
En particular, vea la respuesta de BG100 en ese hilo. –
posible duplicado de [fecha de inicio de sesión de T-SQL redondeada al minuto más cercano y horas más cercanas con el uso de funciones] (http://stackoverflow.com/questions/6666866/t-sql-datetime-rounded-to-nearest-minute-and-nearest -horas-con-usar-funciones) – user272735