SQL obtiene el último día del mes

En el artículo anterior, presentamos cómo usar SQL para obtener el primer día del mes. Este artículo hablará sobre cómo obtener el último día del mes. Las bases de datos involucradas incluyen Oracle, MySQL, Microsoft SQL Server, PostgreSQL y SQLite. .

Oráculo

La base de datos de Oracle proporciona la función LAST_DAY(), que puede obtener el último día del mes en el que se encuentra la fecha especificada:

SELECT SYSDATE,
       LAST_DAY(SYSDATE) "Last",
       LAST_DAY(SYSDATE) - SYSDATE "Days Left"
  FROM DUAL;

SYSDATE   Last       Days Left
--------- --------- ----------
20-MAY-23 31-MAY-23         11

El último día del mes lo determina el parámetro de sesión NLS_CALENDAR.

mysql

MySQL proporciona la función LAST_DAY() , que devuelve el último día del mes especificado:

SELECT LAST_DAY(current_date());
LAST_DAY(current_date())|
------------------------+
              2023-05-31|

MariaDB también proporciona la misma función LAST_DAY().

Servidor SQL de Microsoft

Microsoft SQL Server proporciona la función EOMONTH() , que devuelve el último día del mes que contiene la fecha especificada:

SELECT EOMONTH( '2023-01-01' );

2023-01-31

La función EOMONTH() incluye un parámetro opcional para aumentar o disminuir un número específico de meses:

SELECT EOMONTH( '2023-01-01', 4 );

2023-05-31

postgresql

PostgreSQL no proporciona una función que se pueda usar directamente para obtener el último día del mes y se requieren operaciones adicionales para lograr el mismo efecto:

SELECT (date_trunc('month', date '2023-05-20') + interval '1 month - 1 day')::date;

date      |
----------+
2023-05-31|

Entre ellos, la función DATE_TRUNC() se usa para truncar la fecha. Lo que funciona en el ejemplo es truncar la fecha al primer día del mes. Luego, obtenemos el último día del mes agregando un intervalo.

SQLite

SQLite proporciona la función DATE() , que se puede usar para obtener el último día del mes:

SELECT DATE('2023-05-20', 'start of month', '+1 month', '-1 day');

2023-05-31

El proceso de procesamiento de la función en el ejemplo es similar a PostgreSQL. El parámetro 'inicio del mes' significa obtener el primer día del mes, luego '+1 mes' obtiene el mes siguiente y finalmente '-1 día' menos un día devuelve la fecha original, el último día del mes.

Supongo que te gusta

Origin blog.csdn.net/horses/article/details/130760103
Recomendado
Clasificación