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.
Platí pro:
Databricks Runtime 18.1 a novější
Pokud expr je řetězec, parsuje ho na TIMESTAMP základě prvního odpovídajícího vzoru v daném seznamu formátů nebo vrátí NULL , pokud se žádný vzor shoduje. Pokud expr je číselný typ, parsuje ho jako časové razítko unixu. Místo vyvolání chyby se vrátí neplatná nebo neodpovídající expr hodnota NULL .
Syntaxe
try_parse_timestamp(expr [, { pattern [...] } ])
Argumenty
-
výraz: Řetězec nebo číselná hodnota, která se má parsovat do .
TIMESTAMPMezi akceptované typy patří:-
TINYINT,SMALLINT, ,INTBIGINT -
FLOAT,DOUBLE -
DECIMAL(až 18 přesnosti) STRING
-
-
vzor: Volitelný seznam vzorů časového razítka nebo odkaz na předdefinovaný seznam, například
#iso8601nebo#rfc3339. Vzory časového razítka musí být konstantní řetězec. Pokud není zadán žádný vzor, je ekvivalentní k určení#extended. Referenční informace k symbolu vzoru a seznam předdefinovaných seznamů vzorů naleznete v tématu Odkaz na vzor veparse_timestampfunkci.
Návraty
A TIMESTAMPnebo NULL pokud expr nelze analyzovat.
expr Pokud je řetězec a žádný ze vzorů neodpovídá, vrátí NULLfunkce .
expr Pokud je číselná hodnota a nelze ji interpretovat jako platné časové razítko unixu (například přetečení), vrátí NULLfunkce .
Pokud je parametr formátu poškozený (neplatný vzor nebo neznámý seznam vzorů), funkce stále vyvolá chybu; parsovat pouze selhání na vrácenou exprNULLhodnotu .
Pokud expr je NULL, vrátí funkce NULL.
Poznámky
- Pokud seznam vzorů obsahuje
NULLhodnoty, budou ignorovány. Pokud jsouNULLvšechny zadané vzory , výsledek jeNULL. - Pokud časové razítko odpovídá vzoru obsahujícímu žádné informace o časovém pásmu, analyzuje se v časovém pásmu relace.
Stavy chyb
Příklady
-- Parse timestamp according to default pattern list
> SELECT try_parse_timestamp('2024-12-09T19:30:01');
2024-12-09 19:30:01.000
-- Invalid date returns NULL
> SELECT try_parse_timestamp('2016-12-32');
NULL
-- Bad input returns NULL instead of error
> SELECT try_parse_timestamp('bad input');
NULL
-- Invalid pattern still raises an error (does not return NULL)
> SELECT try_parse_timestamp('2023', 'QQQQ');
Error: INVALID_PARAMETER_VALUE.PATTERN
-- Extend the default pattern list with custom patterns
> SELECT try_parse_timestamp(col, "#extended", "dd MMM, yyyy", "MMM d; yy") FROM VALUES ('2024-12-01'), ('02 Dec, 2024'), ('DEC 3; 24') AS t(col)
2024-12-01 00:00:00.000
2024-12-02 00:00:00.000
2024-12-03 00:00:00.000