Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Runtime 18.1 e superiores
Se expr for uma cadeia, analisa-a em a TIMESTAMP de acordo com o primeiro padrão correspondente na lista dada de formatos, ou retorna NULL se nenhum padrão coincidir. Se expr for um tipo numérico, analisa-o como um carimbo temporal Unix. Retornos NULL inválidos ou não correspondentes expr em vez de gerar um erro.
Sintaxe
try_parse_timestamp(expr [, { pattern [...] } ])
Argumentos
-
expr: Uma cadeia de caracteres ou valor numérico para analisar num
TIMESTAMP. Os tipos aceites são:-
TINYINT,SMALLINT,INT,BIGINT -
FLOAT,DOUBLE -
DECIMAL(até 18 de precisão) STRING
-
-
padrão: Uma lista opcional de padrões de carimbo temporal ou uma referência a uma lista pré-definida como
#iso8601ou#rfc3339. Os padrões de carimbo temporal devem ser uma cadeia constante. Se nenhum padrão for especificado, é equivalente a especificar#extended. Para a referência do símbolo do padrão e a lista de listas de padrões predefinidas, veja Referência do padrão naparse_timestampfunção.
Devoluções
A TIMESTAMP, ou NULL se o expr não pode ser analisado.
Se for expr uma cadeia e nenhum dos padrões coincidir, a função devolve NULL.
Se o expr for numérico e não puder ser interpretado como um carimbo temporal válido do Unix (por exemplo, overflow), a função devolve NULL.
Se o parâmetro de formato estiver malformado (padrão inválido ou lista de padrões desconhecida), a função ainda gera um erro; apenas falhas de análise no expr retorno NULLde valor .
Se expr é NULL, a função devolve NULL.
Notes
- Se a lista de padrões contiver
NULLvalores, estes são ignorados. Se todos os padrões fornecidos foremNULL, o resultado éNULL. - Se o carimbo temporal corresponder a um padrão que não contém informação sobre fuso horário, é analisado no fuso horário da sessão.
Condições de erro
Exemplos
-- 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