Zde je několik způsobů, jak vrátit počet dní v daném měsíci v databázi Oracle. Může to být počet dní v aktuálním měsíci nebo počet dní v měsíci na základě zadaného data.
Možnost 1
Zde je naše první možnost:
SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL; Výsledek:
31
LAST_DAY() Funkce vrací poslední den v měsíci na základě zadaného data. Předáním tomuto do TO_CHAR() ve formátu DD pro den v měsíci získáme číslo posledního dne v měsíci. Toto číslo představuje počet dní v měsíci.
Potom použijeme CAST() funkce pro převod výsledku na celé číslo.
Možnost 2
Zde je další možnost:
SELECT
TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL; Výsledek:
30
TRUNC(date) funkce vrací danou hodnotu data s časovou částí dne zkrácenou na jednotku poskytnutou v zadaném modelu formátu.