602SQL-Úplná dokumentace Index  

Zápis času a data (SQL)

Hodnoty typu DATE, TIME a TIMESTAMP lze v SQL zapisovat až trojím způsobem: dle norem SQL, dle specifikace ODBC a dle starších konvencí 602SQL. Tabulka shrnuje jednotlivé způsoby zápisu:

  Datum Čas Datum s časem
norma SQL DATE'1962-04-27' TIME'12:34:56.789' TIMESTAMP'1962-04-27 12:34:56'
specifikace ODBC {d '1962-04-27'} {t '12:34:56.789'} {ts '1962-04-27 12:34:56'}
styl 602SQL 27.4.1962 12:34:56.789 27.4.1962 12:34:56

Pokud údaj o čase obsahuje specifikaci časové zóny (zápis v UTC), zapisuje se takto:

  Čas s časovou zónou Datum s časem a časovou zónou
norma SQL TIME'12:34:56.789+02:00' TIMESTAMP'1962-04-27 12:34:56+02:00'
specifikace ODBC {t '12:34:56.789+02:00'} {ts '1962-04-27 12:34:56+02:00'}
styl 602SQL 12:34:56.789+02:00 27.4.1962 12:34:56+02:00


Poznámky:

Zápis podle specifikace ODBC ve složených závorkách není chápán jako komentář. Případná desetinná část sekund v zápisu času se ignoruje.

Označení časové zóny musí následovat bezprostředně za časem a začíná znaménkem + nebo -.

Rozšíření jazyka SQL proti normě


Příklad:

Vložení datumu, času a časové značky třemi způsoby:

procedure InsDat();
BEGIN
  INSERT INTO DatCas(dat,cas,datcas) 
         VALUES (DATE'1998-02-27',TIME'12:34:56',TIMESTAMP'1998-02-27 12:34:56');
  INSERT INTO DatCas(dat,cas,datcas)
        VALUES ({d'1998-02-27'},{t'12:34:56.789'},{ts'1998-02-27 12:34:56.789'});
  INSERT INTO DatCas(dat,cas,datcas) 
         VALUES (27.2.1998,12:34:56,27.2.1998 12:34:56);
END