Tutorial SQL

INICIO SQL Introducción a SQL Sintaxis SQL Seleccionar SQL SQL Seleccionar Distinto SQL donde SQL y, o no Orden SQL por Insertar SQL en Valores nulos de SQL Actualización SQL Eliminar SQL SQL Seleccionar parte superior SQL mínimo y máximo Recuento de SQL, Promedio, Suma SQL como Comodines de SQL SQL en SQL entre Alias ​​SQL Uniones SQL Combinación interna de SQL Unión izquierda de SQL Unión derecha de SQL Unión completa de SQL Unión automática de SQL Unión SQL Grupo SQL por SQL teniendo SQL existe SQL Cualquiera, Todo SQL Seleccionar en Insertar SQL en Seleccionar Caso SQL Funciones nulas de SQL Procedimientos almacenados de SQL Comentarios SQL Operadores SQL

Base de datos SQL

SQL Crear base de datos Base de datos de caída de SQL Base de datos de copia de seguridad de SQL Crear tabla SQL Tabla desplegable de SQL Tabla de modificación de SQL Restricciones SQL SQL no nulo SQL único Clave principal de SQL Clave foránea de SQL Comprobación SQL Valor predeterminado de SQL Índice SQL Incremento automático de SQL Fechas SQL Vistas SQL Inyección SQL Alojamiento SQL Tipos de datos SQL

Referencias SQL

Palabras clave de SQL Funciones MySQL Funciones del servidor SQL Funciones de MS Access Referencia rápida de SQL

Ejemplos SQL

Ejemplos SQL Cuestionario de SQL Ejercicios SQL Certificado SQL

SQL trabajando con fechas


Fechas SQL

La parte más difícil cuando se trabaja con fechas es asegurarse de que el formato de la fecha que intenta insertar coincida con el formato de la columna de fecha en la base de datos.

Siempre que sus datos contengan solo la parte de la fecha, sus consultas funcionarán como se espera. Sin embargo, si se trata de una porción de tiempo, se vuelve más complicado.


Tipos de datos de fecha SQL

MySQL viene con los siguientes tipos de datos para almacenar una fecha o un valor de fecha/hora en la base de datos:

  • DATE - formato AAAA-MM-DD
  • DATETIME - formato: AAAA-MM-DD HH:MI:SS
  • TIMESTAMP - formato: AAAA-MM-DD HH:MI:SS
  • YEAR - formato YYYY o YY

SQL Server viene con los siguientes tipos de datos para almacenar una fecha o un valor de fecha/hora en la base de datos:

  • DATE - formato AAAA-MM-DD
  • DATETIME - formato: AAAA-MM-DD HH:MI:SS
  • SMALLDATETIME - formato: AAAA-MM-DD HH:MI:SS
  • TIMESTAMP - formato: un número único

Nota: ¡Los tipos de fecha se eligen para una columna cuando crea una nueva tabla en su base de datos!


SQL trabajando con fechas

Mira la siguiente tabla:

Tabla de pedidos

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Ahora queremos seleccionar los registros con una fecha de pedido de "2008-11-11" de la tabla anterior.

Usamos la siguiente SELECTdeclaración:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

El conjunto de resultados se verá así:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Nota: ¡Dos fechas se pueden comparar fácilmente si no hay un componente de tiempo involucrado!

Ahora, suponga que la tabla "Pedidos" se ve así (observe el componente de tiempo agregado en la columna "FechaPedido"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Si usamos la misma SELECTdeclaración que arriba:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

¡No obtendremos ningún resultado! Esto se debe a que la consulta solo busca fechas sin parte de tiempo.

Sugerencia: para mantener sus consultas simples y fáciles de mantener, no use componentes de tiempo en sus fechas, ¡a menos que sea necesario!