Categorias:

Funções de conversão

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> ) 
Copy

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 | +--------------------------------------+ 
Copy
SELECT TRY_CAST('05/16' AS TIMESTAMP); +--------------------------------+ | TRY_CAST('05/16' AS TIMESTAMP) | |--------------------------------| | NULL | +--------------------------------+ 
Copy
SELECT TRY_CAST('ABCD' AS CHAR(2)); +-----------------------------+ | TRY_CAST('ABCD' AS CHAR(2)) | |-----------------------------| | NULL | +-----------------------------+ 
Copy
SELECT TRY_CAST('ABCD' AS VARCHAR(10)); +---------------------------------+ | TRY_CAST('ABCD' AS VARCHAR(10)) | |---------------------------------| | ABCD | +---------------------------------+ 
Copy