smalldatetime (Transact-SQL)

Define una fecha que se combina con una hora del día. La hora está en un formato de día de 24 horas , con segundos siempre a cero (: 00) y sin fracciones de segundo.

Nota

Use los tipos de datos time, date, datetime2 y datetimeoffset para los nuevos trabajos. Estos tipos se ajustan al estándar SQL. Son más portátiles. time, datetime2 y datetimeoffset proporcionan una mayor precisión de segundos. datetimeoffset proporciona compatibilidad de zona horaria para las aplicaciones globalmente implementadas.

Para obtener información general acerca de todos los tipos de datos y funciones de fecha y hora de Transact-SQL, consulte Funciones de fecha y hora (Transact-SQL). Para obtener información y ejemplos que son comunes a los tipos de datos y funciones de fecha y hora, consulte Usar datos de fecha y hora.

Descripción de smalldatetime

Sintaxis

smalldatetime

Uso

DECLARE @MySmalldatetime smalldatetime

CREATE TABLE Table1 ( Column1 smalldatetime )

Formatos de literal de cadena predeterminados

(se usa para el cliente de nivel inferior)

No aplicable

Intervalo de fechas

De 1900-01-01 a 2079-06-06

Del 1 de enero de 1900 hasta el 6 de junio de 2079

Intervalo de horas

De 00:00:00 a 23:59:59

2007-05-09 23:59:59 se redondeará a

2007-05-10 00:00:00

Intervalos de elementos

AAAA es una cifra de cuatro dígitos comprendida entre 1900 y 2079 que representa un año.

MM es una cifra de dos dígitos comprendida entre 01 y 12 que representa un mes del año especificado.

DD es una cifra de dos dígitos comprendida entre 01 y 31 dependiendo del mes, que representa un día del mes especificado.

hh es una cifra de dos dígitos comprendida entre 00 y 23 que representa la hora.

mm es una cifra de dos dígitos comprendida entre 00 y 59 que representa los minutos.

ss es una cifra de dos dígitos comprendida entre 00 y 59 que representa los segundos. Los valores de 29,998 segundos o menos se redondean a la baja hasta el minuto más cercano; los valores de 29,999 segundos o más se redondean al alza hasta el minuto más cercano.

Longitud en caracteres

19 posiciones como máximo

Tamaño de almacenamiento

4 bytes, fijo.

Precisión

Un minuto

Valor predeterminado

1900-01-01 00:00:00

Calendario

Gregoriano

(no incluye el intervalo completo de años.)

Precisión de fracciones de segundo definida por el usuario

No

Conservación y reconocimiento del desfase de zona horaria

No

Reconocimiento del horario de verano

No

Compatibilidad con ANSI e ISO 8601

smalldatetime no es compatible con ANSI ni con ISO 860.

Ejemplos

A. Conversión de literales de cadena con segundos a smalldatetime

En el ejemplo siguiente se compara la conversión de los segundos presentes en los literales de cadena a 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);

Entrada

Salida

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. Comparar tipos de datos de fecha y hora

En el ejemplo siguiente se comparan los resultados de convertir una cadena a los tipos de datos fecha y hora.

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 de datos

Salida

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

Vea también

Referencia