Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
typ
Platí pro:
Databricks SQL
Databricks Runtime 18.3 and above
Important
Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.
Představuje čas dne obsahující hodnoty hodin polí, minuty a sekundy bez časového pásma.
Syntax
TIME | TIME(p)
p: Volitelná přesnost určující počet desetinných číslic v poli sekund.
Platné hodnoty jsou 0 až 6. Pokud p je vynechána, výchozí přesnost je 6 (mikrosekundy).
Limits
Podporovaný rozsah časových hodnot je 00:00:00.00000023:59:59.999999.
Literals
TIME timeString
timeString
{ '[h]h:[m]m' |
'[h]h:[m]m:[s]s' |
'[h]h:[m]m:[s]s.[f...]' |
'[h]h:[m]m AM|PM' |
'[h]h:[m]m:[s]s AM|PM' |
'[h]h:[m]m:[s]s.[f...] AM|PM' }
-
[h]h: Jedno nebo dvě číslice mezi00a (24hodinovým formátem) nebo mezi01a12(12hodinovým formátem sPMAM/).23 -
[m]m: Jedna nebo dvě číslice minut mezi00a59. -
[s]s: Jedna nebo dvě číslice sekunda mezi00a59. -
[f...]: Až 6 číslic zlomkových sekund. -
AMneboPM: Volitelná přípona nerozlišující velká a malá písmena označující hodnotu 12hodinových hodin.
Předpona TIME nerozlišuje velká a malá písmena.
Pokud druhá komponenta není určena 0, je výchozí hodnota .
Pokud literál nepředstavuje správný čas Azure Databricks vyvolá chybu.
Pravidla přesnosti
Když se zkombinují dvě TIME hodnoty s různými přesnostmi (například ve funkci COALESCE, CASE, UNION nebo aritmetic), použije výsledek širší dvě přesnosti.
Například nejméně běžný typ TIME(3) a TIME(6) je TIME(6).
Při přetypování TIME hodnoty na nižší přesnost se desetinné sekundy zkrátí, nezaokrouhlí se:
> SELECT CAST(TIME'12:30:45.987654' AS TIME(3));
12:30:45.987
Když sčítáte nebo odčítáte denní časový interval, TIMEpoužije výsledek širší přesnost TIME a desetinnou druhou přesnost intervalu. Například TIME(0) + INTERVAL '1.123456' SECOND vrátí hodnotu TIME(6). Pokud výsledek spadá mimo [00:00:00, 24:00:00), Azure Databricks zvýší DATETIME_OVERFLOW.
Poznámky
Všechny operace s TIME hodnotami se provádějí bez zohlednění časového pásma.
Pokud chcete použít TIME sloupce v tabulkách Delta Lake, podpora se povolí automaticky při vytváření nové tabulky Delta se sloupcem TIME typu. Pokud chcete přidat TIME sloupec do existující tabulky, musíte nejprve povolit tuto funkci:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timeType' = 'supported')
Typ TIME má následující omezení:
- Vygenerovaných sloupcích se nepodporuje.
- Nepodporuje se u indexů filtru bloom.
- U řazení Z se nepodporuje.
Příklady
> SELECT TIME'10:30:00';
10:30:00
> SELECT TIME'08:15';
08:15:00
> SELECT TIME'23:59:59.123456';
23:59:59.123456
> SELECT CAST('14:30:00' AS TIME);
14:30:00
> SELECT CAST('09:15:30.5' AS TIME(3));
09:15:30.500
> SELECT current_time();
16:57:04.304361
> SELECT make_time(6, 30, 45.887);
06:30:45.887000