Oracle Database má TO_CHAR(datetime)
funkce, která nám umožňuje získat různé části data z hodnoty datetime.
Je zde také EXTRACT(datetime)
funkce, která extrahuje konkrétní jednotku data a času (např. den, měsíc, rok atd.).
TO_CHAR(datetime)
Funkce
Můžeme získat den, měsíc a rok z data předáním příslušného modelu formátu do TO_CHAR(datetime)
funkce.
Příklad:
SELECT TO_CHAR(DATE '2035-09-26', 'Day, DD Month YYYY')
FROM DUAL;
Výsledek:
Wednesday, 26 September 2035
V tomto případě můj model formátu specifikoval různé části data; název celého dne, číslo „dne v měsíci“, název měsíce a rok. Kterýkoli z prvků formátu lze vynechat a lze přidat libovolný počet dalších prvků formátu.
Můžeme dokonce oddělit každou komponentu data tím, že provedeme více volání funkce, každé s jiným prvkem formátu:
SELECT
TO_CHAR(DATE '2035-09-26', 'Day') AS Day,
TO_CHAR(DATE '2035-09-26', 'DD') AS DD,
TO_CHAR(DATE '2035-09-26', 'Month') AS Month,
TO_CHAR(DATE '2035-09-26', 'YYYY') AS Year
FROM DUAL;
Výsledek:
DAY DD MONTH YEAR ____________ _____ ____________ _______ Wednesday 26 September 2035
Seznam prvků formátu, které lze použít k formátování hodnot datetime pomocí této funkce, najdete v tomto Úplném seznamu prvků formátu Datetime v Oracle.
EXTRACT(datetime)
Funkce
Ton EXTRACT(datetime)
Funkce je další způsob, jak vrátit den, měsíc nebo rok z hodnoty datetime. Tato funkce extrahuje vždy pouze jednu část data.
Příklad:
SELECT EXTRACT(YEAR FROM DATE '2027-10-03')
FROM DUAL;
Výsledek:
2027
V tomto případě jsem extrahoval rok z data.
Zde je příklad, který extrahuje den, měsíc a rok:
SELECT
EXTRACT(DAY FROM DATE '2027-10-03') AS Day,
EXTRACT(MONTH FROM DATE '2027-10-03') AS Month,
EXTRACT(YEAR FROM DATE '2027-10-03') AS Year
FROM DUAL;
Výsledek:
DAY MONTH YEAR ______ ________ _______ 3 10 2027
Seznam částí data, které lze pomocí této funkce extrahovat, najdete v části Funkce EXTRACT (datetime) v Oracle.