Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Define una fecha que se combina con una hora del día con fracciones de segundos
basada en un reloj de 24 horas.
Nota
Use la tiempo, fecha, datetime2 y datetimeoffset tipos de datos para el nuevo trabajo.
Estos tipos se alinean con el estándar SQL. Son más portátiles. tiempo, datetime2 y
datetimeoffset proporcionan una mayor precisión de segundos. DateTimeOffset
proporciona compatibilidad de zona horaria para las aplicaciones implementadas
globalmente.
Descripción de datetime
Propiedad Valor
Sintaxis datetime
DECLARAR @MyDatetime fecha y hora
Uso
Crear tabla Table1 (Column1 datetime )
Formatos de literal de cadena
predeterminados
No aplicable
(se usa para el cliente de nivel
inferior)
Intervalo de fechas Del 01.01.53 hasta el 31.12.99
Intervalo de horas 00:00:00 a 23:59:59.997
Intervalo de ajuste de zona
Ninguno
horaria
AAAA es una cifra de cuatro dígitos comprendida
entre 1753 y 9999 que representa un año.
Numérico Description
Formatos de Puede especificar datos de fecha con un mes en forma de número. Por
fecha: ejemplo, 5/20/97 representa el veinte de mayo de 1997. Cuando use
un formato numérico de fecha, especifique el mes, el día y el año en
[0]4/15/[19]96 - una cadena con barras diagonales (/), guiones (-) o puntos (.) como
- (mda) separadores. Esta cadena debe aparecer de la forma siguiente:
[0]4.15.[19]96 -
- (mda) Cuando el idioma está establecido en us_english, el orden
predeterminado de la fecha es mdy. Puede cambiar el orden de fecha
[0]4/[19]96/15 - mediante el SET DATEFORMAT instrucción.
- (mad)
La configuración de SET DATEFORMAT determina cómo se
Numérico Description
15/[0]4/[19]96 - interpretan los valores de fecha. Si el orden no coincide con esta
- (dma) configuración, los valores no se interpretarán como fechas porque se
encuentran fuera del intervalo, o bien se interpretarán
15/[19]96/[0]4 - incorrectamente. Por ejemplo, 12/10/08 se puede interpretar de seis
- (dam) formas distintas, en función de la configuración de DATEFORMAT.
Un año en cuatro partes se interpreta como el año.
[19]96/15/[0]4 -
- (adm)
[19]96/[0]4/15 -
- (amd)
Formatos de
hora:
14:30
14:30[:20:999]
14:30[:20.9]
4am
4 PM
Orden
Description
alfabético
Abr[il] [15][,] Puede especificar los datos de la fecha con un mes especificado como
1996 el nombre completo del mes. Por ejemplo, abril o la abreviatura del
mes Abr especificada en el idioma actual; las comas son opcionales y
Abr[il] 15[,] se omite el uso de mayúsculas.
[19]96
Éstas son algunas directrices para utilizar los formatos alfabéticos de
Abr[il] 1996 fecha:
[15]
(1) incluya los datos de fecha y hora entre comillas simples ('). Para
[15] Abr[il][,] los idiomas distintos de inglés, utilice N'
1996
(2) los caracteres incluidos entre corchetes son opcionales.
15
Abr[il][,][19]96 (3) si especifica solamente los dos últimos dígitos del año, los valores
inferiores a los dos últimos dígitos del valor de la configurar two digit
15 [19]96 year cutoff Server Configuration Option opción de configuración que
abr[il] se encuentran en el mismo siglo que el año límite . Valores mayores
que o iguales que el valor de esta opción pertenecen al siglo anterior
[15] 1996 al año límite. Por ejemplo, si límite de año de dos dígitos es 2050
abr[il] (valor predeterminado), 25 se interpreta como 2025 y 50 se interpreta
como 1950. Para evitar ambigüedades, use años de cuatro dígitos.
1996 ABR[IL]
Orden
Description
alfabético
[15] (4) si falta el día, se proporciona el primer día del mes.
1996 [15]
ABR[IL]
El parámetro de sesión SET DATEFORMAT no se aplica cuando se
especifica el mes de forma alfabética.
ISO 8601 Description
Ejemplos:
(1) 2004-05-23T14:25:10
(2) 2004-05-23T14:25:10.487
01/01/98 23:59:59.996
1998-01-01 23:59:59.997
01/01/98 23:59:59.997
01/01/98 23:59:59.998
01/01/98 23:59:59.992
01/01/98 23:59:59.994
01/01/98 23:59:59.990
1998-01-01 23:59:59.990
01/01/98 23:59:59.991
Convertir otros tipos de fecha y hora para el tipo de datos de fecha y hora
Esta sección describe lo que ocurre cuando los otros tipos de datos de fecha y hora se
convierten a la datetime tipo de datos.
SQL
DECLARE @date date = '12-21-16';
DECLARE @datetime datetime = @date;
--Result
--@datetime @date
------------------------- ----------
--2016-12-21 00:00:00.000 2016-12-21
SQL
DECLARE @time time(4) = '12:10:05.1237';
DECLARE @datetime datetime = @time;
--Result
--@datetime @time
------------------------- -------------
--1900-01-01 12:10:05.123 12:10:05.1237
SQL
DECLARE @smalldatetime smalldatetime = '12-01-16 12:32';
DECLARE @datetime datetime = @smalldatetime;
--Result
--@datetime @smalldatetime
------------------------- -----------------------
--2016-12-01 12:32:00.000 2016-12-01 12:32:00
SQL
DECLARE @datetimeoffset datetimeoffset(4) = '1968-10-23 12:45:37.1234
+10:0';
DECLARE @datetime datetime = @datetimeoffset;
--Result
--@datetime @datetimeoffset
------------------------- ------------------------------
--1968-10-23 12:45:37.123 1968-10-23 12:45:37.1237 +01:0
SQL
DECLARE @datetime2 datetime2(4) = '1968-10-23 12:45:37.1237';
DECLARE @datetime datetime = @datetime2;
--Result
--@datetime @datetime2
------------------------- ------------------------
--1968-10-23 12:45:37.123 1968-10-23 12:45:37.1237
Ejemplos
En el ejemplo siguiente se compara los resultados de convertir una cadena a cada uno de
ellos fecha y tiempo tipo de datos.
SQL
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';