SQL obtém o último dia do mês

No artigo anterior , apresentamos como usar o SQL para obter o primeiro dia do mês. Este artigo falará sobre como obter o último dia do mês. Os bancos de dados envolvidos incluem Oracle, MySQL, Microsoft SQL Server, PostgreSQL e SQLite .

Oráculo

O banco de dados Oracle fornece a função LAST_DAY() , que pode obter o último dia do mês em que a data especificada está localizada:

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

O último dia do mês é determinado pelo parâmetro de sessão NLS_CALENDAR.

MySQL

O MySQL fornece a função LAST_DAY() , que retorna o último dia do mês especificado:

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

O MariaDB também fornece a mesma função LAST_DAY().

Servidor Microsoft SQL

O Microsoft SQL Server fornece a função EOMONTH() , que retorna o último dia do mês que contém a data especificada:

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

2023-01-31

A função EOMONTH() inclui um parâmetro opcional para aumentar ou diminuir um número especificado de meses:

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

2023-05-31

PostgreSQLName

O PostgreSQL não fornece uma função que possa ser usada diretamente para obter o último dia do mês e operações adicionais são necessárias para obter o mesmo efeito:

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

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

Dentre elas, a função DATE_TRUNC() é utilizada para truncar a data. O que funciona no exemplo é truncar a data para o primeiro dia do mês. Em seguida, obtemos o último dia do mês adicionando um intervalo.

SQLite

O SQLite fornece a função DATE(), que pode ser usada para obter o último dia do mês:

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

2023-05-31

O processo de processamento da função no exemplo é semelhante ao PostgreSQL. O parâmetro 'início do mês' significa obter o primeiro dia do mês, depois '+1 mês' obtém o próximo mês e, finalmente, '-1 dia' menos um dia retorna a data original. O último dia do mês.

おすすめ

転載: blog.csdn.net/horses/article/details/130760103