smalldatetime (Transact-SQL)
Definisce una data combinata con un'ora del giorno. L'ora si basa su un formato di 24 ore, con secondi sempre a zero (: 00) e senza secondi frazionari.
[!NOTA]
Utilizzare i tipi di dati time, date, datetime2 e datetimeoffset per un nuovo lavoro. Questi tipi sono conformi allo standard SQL e offrono una migliore portabilità. I tipi time, datetime2 e datetimeoffset offrono una maggiore precisione dei secondi. Il tipo datetimeoffset offre il supporto del fuso orario per le applicazioni distribuite globalmente.
Per una panoramica di tutti i tipi di dati e delle funzioni di data e ora Transact-SQL, vedere Funzioni e tipi di dati di data e ora (Transact-SQL). Per informazioni ed esempi comuni ai tipi di dati e alle funzioni di data e ora, vedere Utilizzo di dati relativi a data e ora.
Descrizione di smalldatetime
Sintassi |
smalldatetime |
Utilizzo |
DECLARE @MySmalldatetime smalldatetime CREATE TABLE Table1 ( Column1 smalldatetime ) |
Formati predefiniti dei valori letterali stringa (utilizzati per client legacy) |
Non applicabile |
Intervallo di date |
Da 1900-01-01 a 2079-06-06 Da 1 gennaio 1900 a 6 giugno 2079 |
Intervallo di ore |
Da 00:00:00 a 23:59:59 2007-05-09 23:59:59 verrà arrotondato a 2007-05-10 00:00:00 |
Intervalli di elementi |
AAAA rappresenta un numero di quattro cifre, compreso tra 1900 e 2079, indicante l'anno. MM rappresenta un numero di due cifre, compreso tra 01 e 12, indicante un mese dell'anno specificato. GG rappresenta un numero di due cifre compreso tra 01 e 31, a seconda del mese, indicante il giorno del mese specificato. hh rappresenta un numero di due cifre compreso tra 00 e 23 indicante l'ora. mm rappresenta un numero di due cifre compreso tra 00 e 59 indicante i minuti. ss rappresenta un numero di due cifre, compreso tra 00 e 59, indicante i secondi. I valori minori o uguali a 29,998 secondi vengono arrotondati al minuto per difetto. I valori maggiori o uguali a 29,999 secondi vengono arrotondati al minuto per eccesso. |
Lunghezza in caratteri |
Massimo 19 posizioni |
Dimensioni dello spazio di archiviazione |
4 byte, fissa. |
Accuratezza |
Un minuto |
Valore predefinito |
1900-01-01 00:00:00 |
Calendario |
Gregoriano Non è incluso l'intervallo completo di anni. |
Precisione in secondi frazionari definita dall'utente |
No |
Considerazione e conservazione delle differenze di fuso orario |
No |
Considerazione dell'ora legale |
No |
Conformità agli standard ANSI e ISO 8601
smalldatetime non è conforme agli standard ANSI o ISO 8601.
Esempi
A. Cast di valori letterali stringa con secondi a smalldatetime
Nell'esempio seguente viene confrontata la conversione dei secondi nei valori letterali stringa in smalldatetime.
SELECT
CAST('2007-05-08 12:35:29' AS smalldatetime)
,CAST('2007-05-08 12:35:30' AS smalldatetime)
,CAST('2007-05-08 12:59:59.998' AS smalldatetime);
Input |
Output |
---|---|
2007-05-08 12:35:29 |
2007-05-08 12:35:00 |
2007-05-08 12:35:30 |
2007-05-08 12:36:00 |
2007-05-08 12:59:59.998 |
2007-05-08 13:00:00 |
B. Confronto dei tipi di dati di data e ora
Nell'esempio seguente vengono confrontati i risultati dell'esecuzione del cast di una stringa a ogni tipo di dati di data e ora.
SELECT
CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date'
,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS
'smalldatetime'
,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS
'datetime2'
,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS
'datetimeoffset';
Tipo di dati |
Output |
---|---|
time |
12:35:29. 1234567 |
date |
2007-05-08 |
smalldatetime |
2007-05-08 12:35:00 |
datetime |
2007-05-08 12:35:29.123 |
datetime2 |
2007-05-08 12:35:29. 1234567 |
datetimeoffset |
2007-05-08 12:35:29.1234567 +12:15 |