Firebird – Primeiro e Ultimo dia do mês atual

Em determinados momentos precisamos saber o primeiro e ultima dia do mês atual. O primeiro dia é fácil, sempre é dia 01, o problema está no ultimo dia que pode variar de acordo com o mês.

SELECT
    DATEADD(1 - EXTRACT(DAY FROM CURRENT_DATE) DAY TO CURRENT_DATE) AS PRIMEIRO_DIA,
    DATEADD(-1 DAY TO
        DATEADD(1 MONTH TO
            DATEADD(1 - EXTRACT(DAY FROM CURRENT_DATE) DAY TO CURRENT_DATE)
        )
    ) AS ULTIMO_DIA
FROM RDB$DATABASE;Code language: SQL (Structured Query Language) (sql)