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

Vedere anche

Riferimento