Usar datos de fecha y hora
Actualizado: 14 de abril de 2006
La categoría de tipos de datos de fecha y hora de SQL Server 2005 se compone de los siguientes tipos de datos:
- datetime
- smalldatetime
Los tipos de datos datetime y smalldatetime permiten realizar lo siguiente:
- Especificar nuevas fechas y horas o cambiar fechas y horas existentes.
- Sumar y restar horas. Para obtener más información acerca de la aritmética de fechas, vea + (Sumar) (Transact-SQL) y - (restar) (Transact-SQL).
- Buscar una hora o fecha determinada.
Los tipos de datos datetime y smalldatetime permiten realizar algunos cálculos aritméticos con las funciones de fecha del sistema. Para obtener más información, vea Funciones (Transact-SQL).
A continuación se muestran algunas directrices acerca de la utilización de datos de fecha y hora:
Para buscar una coincidencia exacta con la fecha y la hora, utilice un signo igual (=). SQL Server devuelve los valores de fecha y hora que coincidan exactamente con el mes, el día y el año, y a la hora exacta 12:00:00:000 a. m. (de forma predeterminada). Para obtener más información acerca de la hora, vea Formatos de hora.
SQL Server evalúa las constantes datetime en tiempo de ejecución. Una cadena de fecha que funcione para los formatos de fecha que espera un idioma puede resultar irreconocible si la consulta se ejecuta mediante una conexión que utiliza una configuración diferente de idioma y formato de fechas. Por ejemplo, la siguiente vista funciona correctamente en conexiones realizadas con el idioma configurado como inglés de EE.UU., pero no en las conexiones realizadas con otra configuración de idioma:
CREATE VIEW dbo.USA_Dates AS SELECT PurchaseOrderID, TotalDue FROM AdventureWorks.Purchasing.PurchaseOrderHeader WHERE OrderDate < 'May 1, 2002';
Cuando utilice constantes datetime en consultas ejecutadas por conexiones que utilizan diferentes configuraciones de idioma, debe asegurarse de que las fechas son válidas para todas las configuraciones de idioma. Debe tomar las mismas precauciones cuando utilice constantes datetime en objetos permanentes de bases de datos internacionales como, por ejemplo, las restricciones de tabla y las cláusulas WHERE de vistas. En el ejemplo siguiente, se muestra un método para asegurar que una constante datetime se interpreta igual para todas las configuraciones de conexión de formato de fechas o de idioma.
CREATE VIEW dbo.International_Dates AS SELECT PurchaseOrderID, TotalDue FROM AdventureWorks.Purchasing.PurchaseOrderHeader WHERE OrderDate < CONVERT(DATETIME,'20020501',101);
Para obtener más información, vea Escribir instrucciones Transact-SQL internacionales.
SQL Server reconoce datos de fecha y hora escritos entre comillas simples (') con los siguientes formatos:
- Formatos alfabéticos de fecha, como '15 de abril de 1998'
- Formatos numéricos de fecha, como '15/4/1998'
- Formatos de cadenas sin separar. Por ejemplo, '19981207' sería 7 de diciembre de 1998.
Vea también
Otros recursos
Date y Time (Transact-SQL)
Tipos de datos (Transact-SQL)
CAST y CONVERT (Transact-SQL)