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