La funzione T - SQL DATEDIFF consente di confrontare due date e restituire la differenza tra loro in una varietà di diversi intervalli , tra anni , mesi, giorni , ore, minuti o secondi. Per controllare la cronologia , è anche possibile utilizzare l'opzione " tra" e verificare se una data cade tra due altri. È inoltre possibile confrontare due date utilizzando il maggiore , minore e uguale agli operatori . Data tipi di dati
partire da SQL 2008 , i database Microsoft supportano i tipi di dati che consentono di memorizzare la data e l'ora a parte. Altri valori di data sono smalldatetime , che memorizza un combinato di data e valore di tempo che non include secondi , datetime , che memorizza il valore con una precisione fino a 0,00,333 mila secondo , e datetime2 con una precisione di 100 nanosecondi .
< Br >
Utilizzando DIFFDATA
DATEDIFF consente di restituire il numero di limiti di un tipo specifico che si verificano tra due date . Gli intervalli disponibili , o confini , per controllare includono anno , trimestre , mese , giorno, settimana , ora, minuto , secondo e più . Il formato della funzione DateDiff è DateDiff ( ' confine ' , startdate , enddate ) . Il confine è la parte di data potrete verificare , dalle scelte di cui sopra . Molte abbreviazioni possono essere utilizzati per questi parti di data . Il startdate e enddate può essere qualsiasi espressione valida o variabile che restituisce una data legititmate o tipo di dati di tempo .
Confrontando utilizzando Tra
Per verificare se un data si verifica dopo una data specifica e prima di un'altra data, è possibile utilizzare l'istruzione TRA . Ciò è utile in una query per ottenere tutti gli oggetti in un determinato periodo di tempo . È possibile, ad esempio , utilizzare nella clausola WHERE di tirare tutti gli eventi che nel mese di gennaio , come mostrato di seguito :
Seleziona eventID , eventDate da EventsWHERE eventDate tra il '01 /01 /2011 ' e '01 /31 /2011 '
Altri Confronti Data
Per confrontare due date , è possibile utilizzare anche il maggiore , minore , o di operatori pari nei vostri dove le dichiarazioni . Per trovare tutti gli elementi con una data prima del 1 ° gennaio 2011 , è necessario utilizzare : SELECT * FROM [ tabella ] WHERE data < '01 /01 /2011 ' . La stessa logica vale per il maggiore e uguale paragoni . Confrontando le date utilizzando questo metodo non ha considerazione per i valori di tempo vengono conservati in un tipo di dati datetime , quindi se si vuole tutto prima di mezzogiorno in una certa data , essere sicuri di includere che in parte dopo il segno di confronto .
< Br >