> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
> Use this file to discover all available pages before exploring further.

> Reference material for TRY_CAST function

# TRY_CAST

Converts data types into other data types based on the specified parameters. If the conversion cannot be performed, returns a NULL. To return an error message instead, use [CAST](/reference-sql/functions-reference/conditional-and-miscellaneous/cast).

<Note>
  `TRY_CAST` replaces only execution errors with NULLs. However, during planning, impossible casts between two non-castable types still produce an error because the query is invalid.
</Note>

## Syntax

```sql theme={"theme":{"light":"css-variables","dark":"css-variables"}}
TRY_CAST(<value> AS <type>)
```

## Parameters

| Parameter | Description                                                              | Supported input types |
| :-------- | :----------------------------------------------------------------------- | :-------------------- |
| `<value>` | The value to convert or an expression that results in a value to convert | Any                   |
| `<type>`  | The target [data type](/reference-sql/data-types) (case-insensitive)     | Any                   |

## Return Type

Returns `NULL` if the conversion cannot be performed. Otherwise, returns the data type of `<type>`.

## Example

The following example attempts to cast the level input as an integer:

<div className="query-window">
  ```
  SELECT TRY_CAST('1' AS INTEGER) AS level, TRY_CAST('level 2' AS INTEGER) AS current_level;
  ```

  | level <span>int null</span> | current\_level <span>int null</span> |
  | :-------------------------- | :----------------------------------- |
  | 1                           | NULL                                 |

  <p><span>Rows: 1</span><span>Execution time: 5.29ms</span></p>
</div>
