Come faccio trunc la data in SQL Server 2008 in questo modo:Tronca solo ora/minuto
ho 2012-01-02 12:04:11.443
e voglio solo per selezionare 2012-01-02 12:00:00.000
e 2012-01-02 12:04:00.000
(ora e livello di minuto)
Come faccio trunc la data in SQL Server 2008 in questo modo:Tronca solo ora/minuto
ho 2012-01-02 12:04:11.443
e voglio solo per selezionare 2012-01-02 12:00:00.000
e 2012-01-02 12:04:00.000
(ora e livello di 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)
Questo sembra funzionare:
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
Risultati:
Rounded Time
------------------------------------------------------
1900-01-01 08:24:00.000
1900-01-01 08:25:00.000
(2 row(s) affected)
Se inserisci codice, XML o campioni di dati, ** PLEASE ** evidenzia quelle righe nell'editor di testo e fai clic sul pulsante "code samples" ('{}') sull'editor barra degli strumenti per formattare in modo piacevole e sintassi evidenziarlo! –
ok la prossima volta :-) – SmartestVEGA
grazie per la risposta .. Mikael Eriksson ha una risposta più semplice. Anche + 1 per la risposta. Grazie – pufos
sto usando qualcosa di simile:
DATEADD(hour,DATEDIFF(hour,'2000-01-01 00:00',[timestamp]),'2000-01-01 00:00')
È possibile utilizzare questa formula per troncare ad altri livelli, ossia minuti:
DATEADD(minutes,DATEDIFF(minutes,'2000-01-01 00:00',[timestamp]),'2000-01-01 00:00')
È necessario ricordare che se si sta troncando a secondi livello, la differenza massima tra la data base e [timestamp] è di 68 anni.
possibile duplicato di [Come posso troncare un datetime in SQL Server?] (Http://stackoverflow.com/questions/923295/how-can-i-truncate-a-datetime-in-sql-server) –
In particolare, vedi la risposta di BG100 in quel thread. –
possibile duplicato di [T-SQL datetime arrotondato al minuto più vicino e alle ore più vicine utilizzando le funzioni] (http://stackoverflow.com/questions/6666866/t-sql-datetime-rounded-to-nearest-minute-and-nearest -hours-with-using-functions) – user272735