602SQL-Úplná dokumentace Index  

Funkce EXTRACT (SQL)

EXTRACT ( { DAY | MONTH | YEAR | HOUR | MINUTE | SECOND } FROM arg )

Funkce vrací zadanou složku data nebo času specifikovaného výrazem arg. Arg musí být typu DATE, TIME nebo TIMESTAMP. Pokud arg má hodnotu NULL, funkce vrací NULL.

Funkce EXTRACT vrací celočíselnou hodnotu kromě případu EXTRACT(SECOND FROM arg), kdy vrací reálnou hodnotu s třemi desetinnými místy (tisíciny vteřiny). Nelze extrahovat údaj o časové zóně. Při extrahování neexistujícího údaje (např. MINUTE z typu DATE) funkce vrací hodnotu 0. Dny a měsíce se počítají od 1.

Funkce se částečně překrývá se standardními funkcemi jazyka 602SQL, např. Month, Year, Hours, apod.


Příklad:

dotaz, který spočítá součty po měsících

SELECT Firmy.nazev, EXTRACT (MONTH FROM dat1) AS měsíc, Sum(Faktury.castka) AS suma_Kč
FROM Faktury,Firmy
WHERE Faktury.Firma=Firmy.Cislo
GROUP BY Firmy.nazev, EXTRACT (MONTH FROM dat1)
ORDER BY Firmy.nazev, měsíc