TIME soort

Van toepassing op:controleren gemarkeerd ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime 18.3 en hoger

Important

Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks previews beheren.

Vertegenwoordigt een tijd van de dag met waarden voor velden uur, minuut en seconde, zonder een tijdzone.

Syntax

TIME | TIME(p)

p: Een optionele precisie waarmee het aantal fractionele cijfers in het secondenveld wordt opgegeven. nl-NL: Geldige waarden zijn 0 tot 6. Als p u dit weglaat, is 6 de standaardprecisie (microseconden).

Limits

Het ondersteunde tijdsbereik is 00:00:00.000000 .23: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: Een of twee cijferige uur tussen 00 en 23 (24-uursnotatie) of tussen 01 en 12 (12-uursnotatie met AM/PM).
  • [m]m: Een of twee cijferige minuut tussen 00 en 59.
  • [s]s: Een of twee cijfers seconde tussen 00 en 59.
  • [f...]: Maximaal 6 cijfers voor fractionele seconden.
  • AM of PM: een optioneel hoofdlettergevoelig achtervoegsel dat een 12-uurs klokwaarde aangeeft.

Het voorvoegsel TIME is niet hoofdlettergevoelig.

Als het tweede onderdeel niet is opgegeven, wordt dit standaard ingesteld op 0.

Als de letterlijke waarde geen juiste tijd vertegenwoordigt Azure Databricks een fout veroorzaakt.

Precisieregels

Wanneer twee TIME waarden met verschillende precisies worden gecombineerd (bijvoorbeeld in COALESCE, CASE, UNION of arithmetic), gebruikt het resultaat de bredere van de twee precisies.

Het minst gangbare type TIME(3)TIME(6) is TIME(6)bijvoorbeeld .

Wanneer u een TIME waarde naar een lagere precisie cast, worden de fractionele seconden afgekapt, niet afgerond:

> SELECT CAST(TIME'12:30:45.987654' AS TIME(3));
  12:30:45.987

Wanneer u een dag-tijdsinterval optelt of aftrekken aan een TIME, gebruikt het resultaat de bredere precisie van de TIME precisie en de breuknauwkeurigheid van het interval. Bijvoorbeeld, retourneert TIME(0) + INTERVAL '1.123456' SECOND een TIME(6). Als het resultaat buiten [00:00:00, 24:00:00) valt, verhoogt Azure Databricks DATETIME_OVERFLOW.

Opmerkingen

Alle bewerkingen op TIME waarden worden uitgevoerd zonder rekening te houden met een tijdzone.

Als u kolommen in Delta Lake-tabellen wilt gebruiken TIME , wordt ondersteuning automatisch ingeschakeld wanneer u een nieuwe Delta-tabel met een kolom van het TIME type maakt. Als u een TIME kolom wilt toevoegen aan een bestaande tabel, moet u eerst de functie inschakelen:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timeType' = 'supported')

Het TIME type heeft de volgende beperkingen:

  • Niet ondersteund in gegenereerde kolommen.
  • Niet ondersteund voor bloeifilterindexen.
  • Niet ondersteund voor Z-Ordering.

Examples

> 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