sql >> Base de Datos >  >> RDS >> MariaDB

11 funciones para obtener el día, mes y año de una fecha en MariaDB

MariaDB incluye muchas funciones para trabajar con fechas. Algunos de estos extraen ciertas partes de dichas fechas y las devuelven como una cadena o un número entero.

A continuación hay 11 funciones que puede usar para devolver varias partes de fechas en MariaDB.

Las funciones

Primero, aquí están las funciones:

  • DATE_FORMAT()
  • EXTRACT()
  • DAYNAME()
  • DÍA DEL MES()
  • DAY()
  • DAYOFWEEK()
  • DAYOFWEEK()
  • DAYOFYEAR()
  • MONTH()
  • MONTHNAME()
  • YEAR()

A continuación se muestran ejemplos de cada función.

El DATE_FORMAT() Función

El DATE_FORMAT() La función le permite formatear una fecha en función de una cadena de formato. La cadena de formato especifica cómo debe formatearse la fecha. Usted construye su propia cadena de formato en función de uno o más especificadores de formato.

Aquí hay un ejemplo del uso de DATE_FORMAT() para devolver el día, mes y año de una fecha:

SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

Resultado:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%W, %D %M %Y') |
+-------------------------------------------+
| Tuesday, 25th July 2023                   |
+-------------------------------------------+

Lo bueno de esta función es que puedes devolver muchas variaciones de la fecha. Por ejemplo, puede devolver solo los nombres cortos de día y mes:

SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');

Resultado:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%a, %D %b %Y') |
+-------------------------------------------+
| Tue, 25th Jul 2023                        |
+-------------------------------------------+

O puede devolver los números de día y mes:

SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');

Resultado:

+---------------------------------------+
| DATE_FORMAT('2023-07-25', '%d/%c/%Y') |
+---------------------------------------+
| 25/7/2023                             |
+---------------------------------------+

Consulte esta lista completa de especificadores de formato para obtener un resumen completo de los especificadores de formato que puede usar para construir una cadena de formato.

DATE_FORMAT() también acepta un argumento de configuración regional opcional que puede usar para especificar el idioma de los nombres de día y mes. Es una función bastante flexible. Ver DATE_FORMAT() para más ejemplos.

El EXTRACT() Función

El EXTRACT () La función le permite extraer una unidad específica de la fecha. Por lo tanto, puede usarlo para extraer el día, el mes y el año (así como otras unidades) de la fecha.

Ejemplo:

SELECT 
    EXTRACT(DAY FROM '2023-07-25') AS Day,
    EXTRACT(MONTH FROM '2023-07-25') AS Month,
    EXTRACT(YEAR FROM '2023-07-25') AS Year;

Resultado:

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
|   25 |     7 | 2023 |
+------+-------+------+

Funciones para devolver una unidad de fecha específica

MariaDB también tiene un montón de funciones más específicas que devuelven una unidad de fecha específica.

A continuación se muestra una lista de las funciones que devuelven el día, el mes y el año a partir de una fecha.

El DAYNAME() Función

Hay bastantes funciones para devolver el día en MariaDB (y la mayoría de los otros DBMS). Esto se debe a que MariaDB necesita saber si desea el nombre del día, el número del día de la semana, el día del mes, el día del año, etc.

El DAYNAME() La función devuelve el nombre del día de la semana.

Ejemplo:

SELECT DAYNAME('2023-07-25');

Resultado:

+-----------------------+
| DAYNAME('2023-07-25') |
+-----------------------+
| Tuesday               |
+-----------------------+

El DAYOFMONTH() Función

El DAYOFMONTH() La función devuelve el número del día del mes.

Ejemplo:

SELECT DAYOFMONTH('2023-07-25');

Resultado:

+--------------------------+
| DAYOFMONTH('2023-07-25') |
+--------------------------+
|                       25 |
+--------------------------+

El DAY() Función

El DAY() la función es en realidad un sinónimo de DAYOFMONTH() función.

Ejemplo:

SELECT DAY('2023-07-25');

Resultado:

+-------------------+
| DAY('2023-07-25') |
+-------------------+
|                25 |
+-------------------+

Como era de esperar, el mismo resultado que DAYOFMONTH() .

El DAYOFWEEK() Función

El DAYOFWEEK() La función devuelve el índice del día de la semana para la fecha, según lo especificado por el estándar ODBC (1 =domingo, 2 =Lunes, …, 7 =sábado).

Ejemplo:

SELECT WEEKDAY('2023-07-25');

Resultado:

+-------------------------+
| DAYOFWEEK('2023-07-25') |
+-------------------------+
|                       3 |
+-------------------------+

Ver DAYOFWEEK() a continuación para una indexación diferente.

El DAYOFWEEK() Función

El DAYOFWEEK() la función es similar a DAYOFWEEK() en que devuelve el índice de la semana para la fecha. La diferencia es que utiliza una numeración de índice diferente (0 =lunes, 1 =martes, … 6 =domingo).

Ejemplo:

SELECT WEEKDAY('2023-07-25');

Resultado:

+-----------------------+
| WEEKDAY('2023-07-25') |
+-----------------------+
|                     1 |
+-----------------------+

El DAYOFYEAR() Función

El DAYOFYEAR() la función devuelve el día del año para la fecha, en el rango 1 a 366 .

Ejemplo:

SELECT DAYOFYEAR('2023-07-25');

Resultado:

+-------------------------+
| DAYOFYEAR('2023-07-25') |
+-------------------------+
|                     206 |
+-------------------------+

El MONTH() Función

El MONTH() la función devuelve el mes en el rango 1 a 12 de enero a diciembre, o 0 para fechas que tienen una parte de cero meses (como 0000-00-00 ).

Ejemplo:

SELECT MONTH('2023-07-25');

Resultado:

+---------------------+
| MONTH('2023-07-25') |
+---------------------+
|                   7 |
+---------------------+

El MONTHNAME() Función

Como sugiere el nombre, el MONTHNAME() La función devuelve el nombre del mes. El idioma utilizado para el nombre está controlado por el valor de lc_time_names variable del sistema.

Ejemplo:

SELECT MONTHNAME('2023-07-25');

Resultado:

+-------------------------+
| MONTHNAME('2023-07-25') |
+-------------------------+
| July                    |
+-------------------------+

El YEAR() Función

El YEAR() la función devuelve la parte del año de la fecha.

Ejemplo:

SELECT YEAR('2023-07-25');

Resultado:

+--------------------+
| YEAR('2023-07-25') |
+--------------------+
|               2023 |
+--------------------+