> ## 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.

# String & binary functions

> Snowflake string & binary functions supported in Snowflake compatibility mode.

<span className="feature-tag">Preview</span>

Snowflake [string & binary functions](https://docs.snowflake.com/en/sql-reference/functions-string) in [Snowflake compatibility mode](/reference-sql/snowflake/overview).

| Function | Support | Notes |
| :- | :- | :- |
| [`UNICODE`](https://docs.snowflake.com/en/sql-reference/functions/unicode) | Supported | |
| `ASCII` | Supported | |
| `BASE64_ENCODE` | Supported | |
| `CHARINDEX` | Supported | |
| `CONCAT_WS` | Supported | Joins with the separator and skips NULLs, as Snowflake does. |
| `CONCAT` | Supported | |
| `ENDSWITH` | Supported | |
| `HEX_ENCODE` | Supported | |
| `ILIKE` | Supported | |
| `LEFT` | Supported | |
| `LENGTH` | Supported | |
| `LEN` | Supported | |
| `LIKE` | Supported | |
| `LOWER` | Supported | |
| `LPAD` | Supported | |
| `LTRIM` | Supported | |
| `MD5_HEX` | Supported | |
| `MD5` | Supported | |
| `OCTET_LENGTH` | Supported | |
| `POSITION` | Supported | |
| `REPEAT` | Supported | |
| `REVERSE` | Supported | |
| `RIGHT` | Supported | |
| `RPAD` | Supported | |
| `RTRIM` | Supported | |
| `SPACE` | Supported | |
| `SPLIT_PART` | Supported | |
| `SPLIT` | With limitations | Splits on the delimiter correctly. Two edges differ: an empty source string returns `[]` rather than `['']`, and a `NULL` delimiter splits into characters rather than returning `NULL`. |
| `STARTSWITH` | Supported | |
| `SUBSTRING` | With limitations | A negative start position is not counted from the end of the string. |
| `SUBSTR` | With limitations | A negative start position is not counted from the end of the string. |
| `TRIM` | Supported | |
| `UPPER` | Supported | |
| `UUID_STRING` | With limitations | The random (version 4) form is supported; the namespaced two-argument (version 5) form is not. |
| `CONTAINS`, `REPLACE` | With limitations | Available for some argument types only. |
| `SOUNDEX` | With limitations | Runs, but the result differs from Snowflake. |
| `BINARY_AS_STRING`, `BIT_LENGTH`, `CHAR`, `CHR`, `EDITDISTANCE`, `FORMAT_STRING_TEMPLATE`, `FUZZY_SUBSEQUENCE_SCORE`, `INITCAP`, `INSERT`, `JACCARD_SIMILARITY`, `JAROWINKLER_SIMILARITY`, `LIKE_ANY`, `MD5_BINARY`, `RTRIMMED_LENGTH`, `SHA1`, `SHA1_BINARY`, `SHA1_HEX`, `SHA2`, `SHA2_BINARY`, `SHA2_HEX`, `SOUNDEX_P123`, `STRING_AS_BINARY`, `STRTOK`, `STRTOK_TO_ARRAY`, `TRANSLATE`, `TRY_BASE64_DECODE_BINARY`, `TRY_BASE64_DECODE_STRING`, `TRY_HEX_DECODE_BINARY`, `TRY_HEX_DECODE_STRING`, `TRY_VALIDATE_UTF8` | Not supported | |

## Limitations

`SOUNDEX` differs in the case of the leading character only: `SOUNDEX('robert')` returns `R163`, where Snowflake returns `r163`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.