Data Confronto T-SQL

April 21

La funzione di T-SQL DATEDIFF permette 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 specifica cade tra altri due. È inoltre possibile confrontare due date utilizzando maggiore, minore e pari a operatori.

Tipi di dati

Cominciando con SQL 2008, i database Microsoft supportano i tipi di dati che consentono di memorizzare la data e l'ora separatamente. Altri valori di data includono smalldatetime, che memorizza una data combinato e un valore di tempo che non include secondi, datetime, che memorizza il valore con una precisione fino a .00333 secondi, e datetime2 con una precisione di 100 nanosecondi.

utilizzando DATEDIFF

Il DATEDIFF consente di restituire il numero dei confini di un tipo specifico che si verificano tra due date. intervalli disponibili, o confini, per verificare includono anno, trimestre, mese, giorno, settimana, ora, minuto, secondo e più. Il formato della funzione DATEDIFF è DATEDIFF ( 'confine', startdate, enddate). Il confine è il datepart si controllare, dalle scelte di cui sopra. Molti abbreviazioni possono essere utilizzati per questi dateparts. Il StartDate e EndDate possono essere qualsiasi espressione valida o variabile che restituisce una data o l'ora tipo di dati legititmate.

Confrontando usando Tra

Per verificare se una data si verifica dopo una data specifica e prima di un'altra data, è possibile utilizzare l'TRA dichiarazione. Ciò è utile in una query per ottenere tutti gli oggetti in un certo periodo di tempo. È possibile, ad esempio, utilizzare nella clausola WHERE per tirare tutti gli eventi che nel mese di gennaio, come illustrato di seguito:

SELEZIONARE eventID, EventDate da Eventi
DOVE EventDate tra '01 / 01/2011 'E '01 / 31/2011'

Altri Confronti Data

Per confrontare due date, è possibile utilizzare anche gli operatori maggiore, minore o uguale nelle istruzioni dove. Per trovare tutti gli oggetti con una data prima del 1 gennaio 2011, si usa: SELECT * FROM [tabella] WHERE data <'01 / 01/2011 '. La stessa logica vale per più di e confronti uguali. date a confronto con questo metodo fa conto per i valori temporali memorizzati in un tipo di dati datetime, quindi se si vuole tutto prima di mezzogiorno in una certa data, essere sicuri di includere che nella parte dopo il segno di confronto.