Datové typy pro datum a čas
Tento článek je psán za podpory webhostingu banan.cz, který Firebird plně podporuje.Datové typy pro datum a čas
Pro uložení a manipulaci s datovými a časovými údaji nabízí Firebird 3 datové typy uvedené v následující tabulce.Název | Velikost | Rozsah |
---|---|---|
DATE | 32b | 1.1.0001 až 31.12.9999 |
TIME | 32b | 0:00:00:0000 až 23:59:59:9999 |
TIMESTAMP | 64b | Kombinace obou předešlých uložených současně |
Příklad definice domény a sloupce tabulky:
CREATE DOMAIN dom1 AS DATE
CREATE TABLE tab1 (col1 TIMESTAMP,
col2 time);
Kontextové proměnné pro datum a čas
Firebird definuje kontextové proměnné CURRENT_DATE, CURRENT_TIME a CURRENT_TIMESTAMP, které vracejí datum a čas okamžiku vykonání příkazu SQL, jenž je používá. Tato hodnota je odvozena ze systémových hodin a nastavení časové zóny serveru.Proměnná | Datový typ | Popis |
---|---|---|
CURRENT_DATE | DATE | Aktuální čas |
CURRENT_TIME | TIME | Aktuální datum |
CURRENT_TIMESTAMP | TIMESTAMP | Aktuální čas a datum |
Příklad:
SELECT CURRENT_DATE FROM RDB$DATABASE;
Datové literály
Datové literály jsou řetězce znaků ve speciálním tvaru, které Firebird rozpozná jako datové a časové konstanty a dokáže je explicitně nebo implicitně převést na odpovídající údaje typu DATE, TIME nebo TIMESTAMP. Tyto konstanty lze použít při:• V podmínce WHERE příkazů SELECT, UPDAT a DELETE
• Pro vložení hodnot příkazy INSERT a UPDATE
• Jako druhý argument funkce EXTRACT
Firebird má v sobě standardně předefinované 4 základní, nejběžněji používané literály. Samozřejmě další literály lze dle libosti vytvářet podle stanovených pravidel. Stanoveny jsou segmenty i celé formáty datových literálů. Ty zde rozebírat nebudu, zájemcům doporučuji nahlédnou do dokumentace Firebirdu, kde je celá problematika tvorby literálů podrobně rozebrána. Následující tabulka uvádí pouze předdefinované literály.
Literál | Typ | Význam |
---|---|---|
NOW | TIMESTAMP | Čas a datum v okamžiku zahájení operace |
TODAY | DATE | Datum v okamžiku zahájení operace |
YASTERDAY | DATE | Datum v okamžiku zahájení operace mínus jeden den |
TOMORROW | DATE | Datum v okamžiku zahájení operace plus jeden den |
Firebird podporuje jak americký (MM/DD), tak evropský (DD.MM) zápis data. Rozlišení obou zápisů je řízeno použitým oddělovačem. Pokud je oddělovací znak tečka, je předpokládán evropský zápis data. Pro americký způsob zápisu je možno použít znak pomlčky, lomítka, čárky, dvojtečky nebo mezery.
Autor: Robert Habrman