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