sql >> Base de Datos >  >> RDS >> Mysql

Devuelve el día, el mes y el año en MySQL

MySQL tiene un montón de funciones diferentes que nos permiten obtener varias partes de la fecha, como el día, el mes y el año, a partir de una fecha.

El DATE_FORMAT() Función

El DATE_FORMAT() La función es excelente si desea devolver las partes de la fecha en un solo campo.

Ejemplo:

SELECT DATE_FORMAT('2035-12-19', '%W, %D %M %Y');

Resultado:

Wednesday, 19th December 2035

También puede devolver solo los nombres cortos de día y mes si ese es el resultado deseado:

SELECT DATE_FORMAT('2035-12-19', '%a, %D %b %Y');

Resultado:

Wednesday, 19th December 2035

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

SELECT DATE_FORMAT('2035-12-19', '%d/%c/%Y');

Resultado:

19/12/2035

También puede devolver cada parte de la fecha en su propio campo, si es necesario:

SELECT 
    DATE_FORMAT('2035-12-19', '%d') AS Day,
    DATE_FORMAT('2035-12-19', '%c') AS Month,
    DATE_FORMAT('2035-12-19', '%Y') AS Year;

Resultado:

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
| 19   | 12    | 2035 |
+------+-------+------+

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. Ver MySQL DATE_FORMAT() Ejemplos para más.

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 '2035-12-19') AS Day,
    EXTRACT(MONTH FROM '2035-12-19') AS Month,
    EXTRACT(YEAR FROM '2035-12-19') AS Year;

Resultado:

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
| 19   | 12    | 2035 |
+------+-------+------+

Funciones para devolver una unidad de fecha específica

MySQL también tiene algunas 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

MySQL tiene más de una función para devolver el día. Esto se debe a que hay más de una forma de representar el día. MySQL 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:

SELECT DAYNAME('2035-12-19');

Resultado:

Wednesday

El DAYOFMONTH() Función

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

Ejemplo:

SELECT DAYOFMONTH('2035-12-19');

Resultado:

19

El DAY() Función

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

Ejemplo:

SELECT DAY('2035-12-19');

Resultado:

19

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('2035-12-19');

Resultado:

4

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('2035-12-19');

Resultado:

2

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('2035-12-19');

Resultado:

353

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('2035-12-19');

Resultado:

12

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('2035-12-19');

Resultado:

December

El YEAR() Función

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

Ejemplo:

SELECT YEAR('2035-12-19');

Resultado:

2035