date (Transact-SQL)
Define una fecha.
Para obtener información general acerca de todos los tipos de datos y funciones de fecha y hora de Transact-SQL, vea Funciones de fecha y hora (Transact-SQL). Para obtener información y ejemplos comunes a los tipos de datos y funciones de fecha y hora, vea Usar datos de fecha y hora.
Descripción de date
Propiedad |
Valor |
---|---|
Sintaxis |
date |
Uso |
DECLARE @MyDate date CREATE TABLE Table1 ( Column1 date ) |
Formato de literal de cadena predeterminado (se usa para el cliente de nivel inferior) |
AAAA-MM-DD Para obtener más información, vea la sección sobre la compatibilidad con versiones anteriores de clientes de nivel inferior de Usar datos de fecha y hora. |
Intervalo |
De 0001-01-01 a 9999-12-31 Del 1 de enero del año 1 después de Cristo al 31 de diciembre de 9999 |
Intervalos de elementos |
AAAA es una cifra de cuatro dígitos comprendida entre 0001 y 9999 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. |
Longitud en caracteres |
10 posiciones |
Precisión, escala |
10, 0 |
Tamaño de almacenamiento |
3 bytes, fijo |
Estructura de almacenamiento |
1, fecha de almacenes de enteros de 3 bytes. |
Precisión |
Un día |
Valor predeterminado |
1900-01-01 Este valor se utiliza para la parte de fecha anexada para la conversión implícita de time a datetime2 o datetimeoffset. |
Calendario |
Gregoriano |
Precisión de fracciones de segundo definida por el usuario |
No |
Conservación y reconocimiento del desplazamiento de zona horaria |
No |
Reconocimiento del horario de verano |
No |
Formatos del literales de cadena compatibles para date
En las siguientes tablas se muestran los formatos de literales de cadena válidos para el tipo de datos date.
Numérico |
Descripción |
---|---|
mda [m]m/dd/[aa]aa [m]m-dd-[aa]aa [m]m.dd.[aa]aa mad mm/[aa]aa/dd mm-[aa]aa/dd [m]m.[aa]aa.dd dma dd/[m]m/[aa]aa dd-[m]m-[aa]aa dd.[m]m.[aa]aa dam dd/[aa]aa/[m]m dd-[aa]aa-[m]m dd.[aa]aa.[m]m amd [aa]aa/[m]m/dd [aa]aa-[m]m-dd [aa]aa-[m]m-dd |
[m]m, dd, y [aa]aa representa el mes, el día y el año en una cadena con marcas de barras diagonales (/), guiones (-) o puntos (.) como separadores. Sólo se admiten los años de dos o cuatro dígitos. Siempre que sea posible utilice los años de cuatro dígitos. Para especificar un número entero entre 0001 y 9999 que represente el año límite para interpretar años de dos dígitos como años de cuatro dígitos, utilice la two digit year cutoff (opción). Un año de dos dígitos menor o igual que los últimos dos dígitos del año límite pertenece al mismo siglo que el año límite. En cambio, un año de dos dígitos mayor que los últimos dos dígitos del año límite pertenece al siglo anterior al año límite. Por ejemplo, si el valor del año límite de dos dígitos es 2049 (el valor predeterminado), el año de dos dígitos 49 se interpreta como 2049 y el año de dos dígitos 50 se interpreta como 1950. La configuración de idioma actual está determinada por el formato de fecha predeterminado. Para cambiar el formato de la fecha, utilice las instrucciones SET LANGUAGE y SET DATEFORMAT. El formato ydm no se admite para date. |
Alfabético |
Descripción |
---|---|
mes [dd][,] aaaa mes dd[,] [aa]aa mes aaaa [dd] [dd] mes[,] aaaa dd mes[,][aa]aa dd [aa]aa mes [dd] aaaa mes aaaa mes [dd] aaaa [dd] mes |
mon representa el nombre completo del mes o la abreviatura del mes en el idioma actual. Las comas son opcionales y se omite el uso de mayúsculas. Para evitar la ambigüedad, use años de cuatro dígitos. Si falta el día, se usará el primer día del mes. |
ISO 8601 |
Descripción |
---|---|
AAAA-MM-DD YYYYMMDD |
Igual que el estándar SQL. Éste es el único formato que se define como una norma internacional. |
Sin separación |
Descripción |
---|---|
[aa]aammdd aaaa[mm][dd] |
Los datos date se pueden especificar con cuatro, seis u ocho dígitos. Una cadena de seis u ocho dígitos se interpretan siempre como ymd. El mes y el día deben ser siempre de dos dígitos. Una cadena de cuatro dígitos se interpreta como el año. |
ODBC |
Descripción |
---|---|
{ d 'aaaa-mm-dd' } |
Específico de la API de ODBC: Funciona en SQL Server 2008 como en SQL Server 2005. |
Formato W3C XML |
Descripción |
---|---|
aaaa-mm-ddDZH |
Específicamente admitido para uso de XML/SOAP. DZH es el designador de zona horaria (Z o + hh: mm o -hh:mm).
|
Compatibilidad con ANSI e ISO 8601
date cumple la definición del estándar ANSI SQL para el calendario Gregoriano: "NOTA 85 - los tipos de datos datetime permitirán las fechas en el formato Gregoriano que se va a almacenar en el intervalo de fechas de 0001.01.01 CE a 9999-12-31 CE."
El formato predeterminado del literal de cadena (que se usa para clientes de nivel inferior) cumple con el formato del estándar SQL, que se define como AAAA-MM-DD. Este formato es igual que la definición de ISO 8601 para DATE.
Ejemplos
En el ejemplo siguiente se comparan los resultados de convertir una cadena a los tipos de datos de 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';
El conjunto de resultados es el siguiente.
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