- Categorias:
TRY_CAST¶
Uma versão especial de CAST , :: que está disponível para um subconjunto de conversões de tipo de dados. Ele realiza a mesma operação (ou seja, converte um valor de um tipo de dados em outro tipo de dado), mas retorna um valor NULL em vez de gerar um erro quando a conversão não pode ser realizada.
Para obter mais informações, consulte Funções de conversão de tratamento de erros.
Sintaxe¶
TRY_CAST( <source_string_expr> AS <target_data_type> )
Notas de uso¶
Funciona apenas para expressões de cadeia de caracteres.
target_data_type
deve ser uma das seguintes opções:VARCHAR (ou qualquer um de seus sinônimos)
NUMBER (ou qualquer um de seus sinônimos)
DOUBLE
BOOLEAN
DATE
TIME
TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ ou TIMESTAMP_TZ
Exemplos¶
As seguintes amostras de código mostram como utilizar a função TRY_CAST
com valores válidos e inválidos:
SELECT TRY_CAST('05-Mar-2016' AS TIMESTAMP); +--------------------------------------+ | TRY_CAST('05-MAR-2016' AS TIMESTAMP) | |--------------------------------------| | 2016-03-05 00:00:00.000 | +--------------------------------------+SELECT TRY_CAST('05/16' AS TIMESTAMP); +--------------------------------+ | TRY_CAST('05/16' AS TIMESTAMP) | |--------------------------------| | NULL | +--------------------------------+SELECT TRY_CAST('ABCD' AS CHAR(2)); +-----------------------------+ | TRY_CAST('ABCD' AS CHAR(2)) | |-----------------------------| | NULL | +-----------------------------+SELECT TRY_CAST('ABCD' AS VARCHAR(10)); +---------------------------------+ | TRY_CAST('ABCD' AS VARCHAR(10)) | |---------------------------------| | ABCD | +---------------------------------+