El comando MySQL DATE permite extraer un valor de fecha de una entrada de tiempo. Esta función es es­pe­cia­l­me­n­te útil para listas de pedidos, llamadas u otras acciones.

¿Qué es MySQL DATE?

Hay un gran número de pa­rá­me­tros que son útiles para tener una mejor visión y or­ga­ni­za­ción en MySQL. Permiten cla­si­fi­car las di­fe­re­n­tes tablas de mejor manera y permitir un acceso más rápido si es necesario. Con este fin, el sistema de gestión de bases de datos ofrece varios tipos de campos para almacenar in­fo­r­ma­ción de fechas y horas. Al igual que MySQL TIME, MySQL DATETIME y MySQL TIMESTAMP, MySQL DATE es un comando es­pe­cia­l­me­n­te práctico y al mismo tiempo muy sencillo que te pro­po­r­cio­na un servicio valioso en tu trabajo diario con el sistema.

MySQL DATE se utiliza para valores que contienen una fecha, pero no cuentan con in­fo­r­ma­ción de tiempo. La función toma la fecha de una expresión y establece la relación. Las entradas se almacenan siempre según el formato “AAAA-MM-DD”, el rango de valores posibles va de “1000-01-01” a “9999-12-31”.

La sintaxis de MySQL DATE

Si estás apre­n­die­n­do a usar MySQL y ya conoces comandos como MySQL DELETE, MySQL REPLACE y MySQL CONCAT, sabes que la sintaxis de estos comandos es re­la­ti­va­me­n­te sencilla. MySQL DATE no es una excepción. La es­tru­c­tu­ra se reduce a lo siguiente:

DATE (Expresión)
bash

Es im­po­r­ta­n­te que la fecha de la expresión sea un valor permitido. Si no es el caso, el resultado será si­m­ple­me­n­te un valor nulo.

Ejemplos de uso de MySQL DATE

Los ejemplos prácticos son útiles para co­m­pre­n­der mejor las fa­ci­li­da­des que nos ofrece MySQL DATE en cada caso. Empecemos por el caso más sencillo, en el que solo aparece la fecha. El comando adecuado es el siguiente:

SELECT DATE ("2022-01-10");
bash

Al ejecutar este comando, el resultado es el siguiente:

2022-01-10
bash

Obtener la fecha de una entrada de tiempo

Sin embargo, MySQL DATE también te ofrece la opción de obtener la fecha de una entrada de tiempo más larga. Lo podemos ver en el siguiente ejemplo:

SELECT DATE ("2022-01-10 10:17:36");
bash

De nuevo, el resultado es el mismo:

2022-01-10
bash

Valor nulo en MySQL DATE

Sin embargo, si no se introduce un valor de fecha válido, no se obtiene ningún resultado. Lo podemos ver en el siguiente ejemplo:

SELECT DATE ("La fecha es el 10.01.2022");
bash

MySQL DATE para las tra­n­sac­cio­nes de pedidos y la co­n­ta­bi­li­dad

El siguiente ejemplo es muy bueno, ayuda a entender el uso práctico que tiene MySQL DATE. En este caso, suponemos que una empresa ha creado tablas para los productos pedidos y enviados. Para saber exac­ta­me­n­te cuándo se ha pedido un producto, habría que consultar todas las entradas de la tabla de forma manual y, por tanto, dedicar mucho tiempo. MySQL DATE, en cambio, ofrece una forma mucho más rápida, extrae los datos a partir de la tabla existente. El comando busca au­to­má­ti­ca­me­n­te en la tabla que co­rre­s­po­n­de; el resultado muestra todos los datos del pedido en orden cro­no­ló­gi­co. Para nuestro ejemplo, su­po­n­ga­mos que la tabla se llama “Pedidos”.

SELECT DATE (Fecha del pedido) FROM Pedidos;
bash

El resultado en este caso es el siguiente:

DATE (Fecha del pedido)
2021-11-27
2021-11-29
2022-01-10
2022-02-04
2022-02-17
bash

Comandos re­la­cio­na­dos

Además del comando MySQL DATE, existen otras funciones similares que ayudan a mantener y editar una tabla. Entre ellas destaca MySQL DATEDIFF, que permite calcular los días entre dos fechas u horas. Otros comandos im­po­r­ta­n­tes son MySQL DATE_ADD, que suma valores de tiempo, en forma de intervalo, a un valor de fecha; MySQL DATE_FORMAT, que permite formatear una fecha; y MySQL DATE_SUB, que permite restar un valor de tiempo a un valor de fecha.

Formatos de fecha al­te­r­na­ti­vos

Además de MySQL DATE, el sistema conoce otros tres formatos de fecha:

  • MySQL DATETIME: esta opción guarda la fecha y la hora en el formato AAAA-MM-DD HH:MM:SS. El intervalo de tiempo que puede uti­li­zar­se va desde el 1000-01-01 00:00:00 hasta el 9999-12-31 23:59:59.
  • MySQL TIMESTAMP: este formato es similar a MySQL DATETIME, pero tiene en cuenta las zonas horarias y convierte los valores al tiempo universal coor­di­na­do (UTC). Por lo tanto, el resultado también sigue la es­tru­c­tu­ra AAAA-MM-DD HH:MM:SS, pero los valores que se pueden utilizar van desde 1970-01-01 00:00:01 UTC hasta 2038-01-09 03:14:17 UTC. Para las apli­ca­cio­nes que deben tener en cuenta di­fe­re­n­tes zonas horarias, MySQL TIMESTAMP es, por tanto, la mejor opción. Para fechas an­te­rio­res a 1970 o po­s­te­rio­res a 2038, se re­co­mie­n­da utilizar MySQL DATETIME.
  • MySQL TIME: MySQL TIME almacena la hora, pero no la fecha. El formato utilizado es HH:MM:SS y el intervalo de tiempo que se puede utilizar va de -838:59:59 a 838:59:59. Además instantes en el tiempo, con MySQL TIME también se pueden es­ta­ble­cer in­te­r­va­los de tiempo. Por ejemplo, un día serían 24:00:00.

Por lo tanto, si MySQL DATE no es la opción más adecuada, siempre puedes recurrir a una de las otras opciones.

Ir al menú principal