Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Data e ora di SQL Server COME selezionare?

Potresti usare la funzione DATEPART()

SELECT * FROM record 
WHERE  (DATEPART(yy, register_date) = 2009
AND    DATEPART(mm, register_date) = 10
AND    DATEPART(dd, register_date) = 10)

Trovo in questo modo facile da leggere, poiché ignora la componente temporale e non è necessario utilizzare la data del giorno successivo per limitare la selezione. Puoi passare a una granularità maggiore o minore aggiungendo clausole extra, utilizzando il codice DatePart appropriato, ad es.

AND    DATEPART(hh, register_date) = 12)

per ottenere record realizzati tra 12 e 1.

Consulta i documenti MSDN DATEPART per l'elenco completo degli argomenti validi.