Skip to main content
Functions for searching in strings and for replacing in strings are described separately.
The documentation below is generated from the system.functions system table.

CRC32

Introduced in: v20.1.0 Calculates the CRC32 checksum of a string using the CRC-32-IEEE 802.3 polynomial and initial value 0xffffffff (zlib implementation). Syntax
Arguments
  • s — String to calculate CRC32 for. String
Returned value Returns the CRC32 checksum of the string. UInt32 Examples Usage example
Query
Response

CRC32IEEE

Introduced in: v20.1.0 Calculates the CRC32 checksum of a string using the CRC-32-IEEE 802.3 polynomial. Syntax
Arguments
  • s — String to calculate CRC32 for. String
Returned value Returns the CRC32 checksum of the string. UInt32 Examples Usage example
Query
Response

CRC64

Introduced in: v20.1.0 Calculates the CRC64 checksum of a string using the CRC-64-ECMA polynomial. Syntax
Arguments
  • s — String to calculate CRC64 for. String
Returned value Returns the CRC64 checksum of the string. UInt64 Examples Usage example
Query
Response

appendTrailingCharIfAbsent

Introduced in: v1.1.0 Appends character c to string s if s is non-empty and does not end with character c. Syntax
Arguments
  • s — Input string. String
  • c — Character to append if absent. String
Returned value Returns string s with character c appended if s does not end with c. String Examples Usage example
Query
Response

ascii

Introduced in: v22.11.0 Returns the ASCII code point of the first character of string s as an Int32. Syntax
Arguments Returned value Returns the ASCII code point of the first character. If s is empty, the result is 0. If the first character is not an ASCII character or not part of the Latin-1 supplement range of UTF-16, the result is undefined. Int32 Examples Usage example
Query
Response

base32Decode

Introduced in: v25.6.0 Decodes a Base32 (RFC 4648) string. If the string is not valid Base32-encoded, an exception is thrown. Syntax
Arguments
  • encoded — String column or constant. String
Returned value Returns a string containing the decoded value of the argument. String Examples Usage example
Query
Response

base32Encode

Introduced in: v25.6.0 Encodes a string using Base32. Syntax
Arguments
  • plaintext — Plaintext to encode. String
Returned value Returns a string containing the encoded value of the argument. String or FixedString Examples Usage example
Query
Response

base58Decode

Introduced in: v22.7.0 Decodes a Base58 string. If the string is not valid Base58-encoded, an exception is thrown. An optional second argument expected_size can be provided to select an optimized fixed-size decoder. Currently supported values are 32 and 64. For other values, the generic decoder is used. When the optimized decoder is selected but the input cannot be decoded to exactly that many bytes, the function throws an exception (or returns an empty string for tryBase58Decode). Syntax
Arguments
  • encoded — String column or constant to decode. String
  • expected_size — Optional. Expected decoded size in bytes. When 32 or 64, an optimized decoder is used; for other values, the generic decoder is used. UInt8, UInt16, UInt32, or UInt64
Returned value Returns a string containing the decoded value of the argument. String Examples Usage example
Query
Response

base58Encode

Introduced in: v22.7.0 Encodes a string using Base58 encoding. Syntax
Arguments
  • plaintext — Plaintext to encode. String
Returned value Returns a string containing the encoded value of the argument. String Examples Usage example
Query
Response

base64Decode

Introduced in: v18.16.0 Decodes a string from Base64 representation, according to RFC 4648. Throws an exception in case of error. Syntax
Aliases: FROM_BASE64 Arguments
  • encoded — String column or constant to decode. If the string is not valid Base64-encoded, an exception is thrown. String
Returned value Returns the decoded string. String Examples Usage example
Query
Response

base64Encode

Introduced in: v18.16.0 Encodes a string using Base64 representation, according to RFC 4648. Syntax
Aliases: TO_BASE64 Arguments
  • plaintext — Plaintext column or constant to decode. String
Returned value Returns a string containing the encoded value of the argument. String Examples Usage example
Query
Response

base64URLDecode

Introduced in: v24.6.0 Decodes a string from Base64 representation using URL-safe alphabet, according to RFC 4648. Throws an exception in case of error. Syntax
Arguments
  • encoded — String column or constant to encode. If the string is not valid Base64-encoded, an exception is thrown. String
Returned value Returns a string containing the decoded value of the argument. String Examples Usage example
Query
Response

base64URLEncode

Introduced in: v18.16.0 Encodes a string using Base64 (RFC 4648) representation using URL-safe alphabet. Syntax
Arguments
  • plaintext — Plaintext column or constant to encode. String
Returned value Returns a string containing the encoded value of the argument. String Examples Usage example
Query
Response

basename

Introduced in: v20.1.0 Extracts the tail of a string following its last slash or backslash. This function is often used to extract the filename from a path. Syntax
Arguments
  • expr — A string expression. Backslashes must be escaped. String
Returned value Returns the tail of the input string after its last slash or backslash. If the input string ends with a slash or backslash, the function returns an empty string. Returns the original string if there are no slashes or backslashes. String Examples Extract filename from Unix path
Query
Response
Extract filename from Windows path
Query
Response
String with no path separators
Query
Response

byteHammingDistance

Introduced in: v23.9.0 Calculates the hamming distance between two byte strings. Syntax
Aliases: mismatches Arguments
  • s1 — First input string. String
  • s2 — Second input string. String
Returned value Returns the Hamming distance between the two strings. UInt64 Examples Usage example
Query
Response

caseFoldUTF8

Introduced in: v26.3.0 Applies Unicode case folding to a UTF-8 string, converting it to a lowercase-like normalized form suitable for case-insensitive comparisons. Applies standard Unicode case folding. Preserves compatibility characters that are not affected by case folding (e.g. Roman numerals, circled numbers), but note that some ligatures like are still decomposed because Unicode case folding itself expands them. Syntax
Arguments
  • str — UTF-8 encoded input string. String
Returned value Case-folded UTF-8 string. String Examples Basic case folding
Query
Response

compareSubstrings

Introduced in: v25.2.0 Compares two strings lexicographically. Syntax
Arguments
  • s1 — The first string to compare. String
  • s2 — The second string to compare. String
  • s1_offset — The position (zero-based) in s1 from which the comparison starts. UInt*
  • s2_offset — The position (zero-based index) in s2 from which the comparison starts. UInt*
  • num_bytes — The maximum number of bytes to compare in both strings. If s1_offset (or s2_offset) + num_bytes exceeds the end of an input string, num_bytes will be reduced accordingly. UInt*
Returned value Returns:
  • -1 if s1[s1_offset : s1_offset + num_bytes] < s2[s2_offset : s2_offset + num_bytes].
  • 0 if s1[s1_offset : s1_offset + num_bytes] = s2[s2_offset : s2_offset + num_bytes].
  • 1 if s1[s1_offset : s1_offset + num_bytes] > s2[s2_offset : s2_offset + num_bytes]. Int8
Examples Usage example
Query
Response

concat

Introduced in: v1.1.0 Concatenates the given arguments. Arguments which are not of types String or FixedString are converted to strings using their default serialization. As this decreases performance, it is not recommended to use non-String/FixedString arguments. Syntax
Arguments
  • s1, s2, ... — Any number of values of arbitrary type. Any
Returned value Returns the String created by concatenating the arguments. If any of arguments is NULL, the function returns NULL. If there are no arguments, it returns an empty string. Nullable(String) Examples String concatenation
Query
Response
Number concatenation
Query
Response

concatAssumeInjective

Introduced in: v1.1.0 Like concat but assumes that concat(s1, s2, ...) → sn is injective, i.e, it returns different results for different arguments. Can be used for optimization of GROUP BY. Syntax
Arguments Returned value Returns the string created by concatenating the arguments. If any of argument values is NULL, the function returns NULL. If no arguments are passed, it returns an empty string. String Examples Group by optimization
Query
Response

concatWithSeparator

Introduced in: v22.12.0 Concatenates the provided strings, separating them by the specified separator. Syntax
Aliases: concat_ws Arguments
  • sep — The separator to use. const String or const FixedString
  • exp1, exp2, ... — Expression to be concatenated. Arguments which are not of type String or FixedString are converted to strings using their default serialization. As this decreases performance, it is not recommended to use non-String/FixedString arguments. Any
Returned value Returns the String created by concatenating the arguments. If any of the argument values is NULL, the function returns NULL. String Examples Usage example
Query
Response

concatWithSeparatorAssumeInjective

Introduced in: v22.12.0 Like concatWithSeparator but assumes that concatWithSeparator(sep[,exp1, exp2, ... ]) → result is injective. A function is called injective if it returns different results for different arguments. Can be used for optimization of GROUP BY. Syntax
Arguments
  • sep — The separator to use. const String or const FixedString
  • exp1, exp2, ... — Expression to be concatenated. Arguments which are not of type String or FixedString are converted to strings using their default serialization. As this decreases performance, it is not recommended to use non-String/FixedString arguments. String or FixedString
Returned value Returns the String created by concatenating the arguments. If any of the argument values is NULL, the function returns NULL. String Examples Usage example
Query
Response

conv

Introduced in: v25.10.0 Converts numbers between different number bases. The function converts a number from one base to another. It supports bases from 2 to 36. For bases higher than 10, letters A-Z (case insensitive) are used to represent digits 10-35. This function is compatible with MySQL’s CONV() function. Syntax
Arguments
  • number — The number to convert. Can be a string or numeric type. - from_base — The source base (2-36). Must be an integer. - to_base — The target base (2-36). Must be an integer.
Returned value String representation of the number in the target base. Examples Convert decimal to binary
Query
Response
Convert hexadecimal to decimal
Query
Response
Convert with negative number
Query
Response
Convert binary to octal
Query
Response

convertCharset

Introduced in: v1.1.0 Returns string s converted from the encoding from to encoding to. Syntax
Arguments
  • s — Input string. String
  • from — Source character encoding. String
  • to — Target character encoding. String
Returned value Returns string s converted from encoding from to encoding to. String Examples Usage example
Query
Response

damerauLevenshteinDistance

Introduced in: v24.1.0 Calculates the Damerau-Levenshtein distance between two byte strings. Syntax
Arguments
  • s1 — First input string. String
  • s2 — Second input string. String
Returned value Returns the Damerau-Levenshtein distance between the two strings. UInt64 Examples Usage example
Query
Response

decodeHTMLComponent

Introduced in: v23.9.0 Decodes HTML entities in a string to their corresponding characters. Syntax
Arguments
  • s — String containing HTML entities to decode. String
Returned value Returns the string with HTML entities decoded. String Examples Usage example
Query
Response

decodeXMLComponent

Introduced in: v21.2.0 Decodes XML entities in a string to their corresponding characters. Syntax
Arguments
  • s — String containing XML entities to decode. String
Returned value Returns the provided string with XML entities decoded. String Examples Usage example
Query
Response

editDistance

Introduced in: v23.9.0 Calculates the edit distance between two byte strings. Syntax
Aliases: levenshteinDistance Arguments
  • s1 — First input string. String
  • s2 — Second input string. String
Returned value Returns the edit distance between the two strings. UInt64 Examples Usage example
Query
Response

editDistanceUTF8

Introduced in: v24.6.0 Calculates the edit distance between two UTF8 strings. Syntax
Aliases: levenshteinDistanceUTF8 Arguments
  • s1 — First input string. String
  • s2 — Second input string. String
Returned value Returns the edit distance between the two UTF8 strings. UInt64 Examples Usage example
Query
Response

encodeXMLComponent

Introduced in: v21.1.0 Escapes characters to place string into XML text node or attribute. Syntax
Arguments
  • s — String to escape. String
Returned value Returns the escaped string. String Examples Usage example
Query
Response

endsWith

Introduced in: v1.1.0 Checks whether a string ends with the provided suffix. Syntax
Arguments
  • s — String to check. String
  • suffix — Suffix to check for. String
Returned value Returns 1 if s ends with suffix, otherwise 0. UInt8 Examples Usage example
Query
Response

endsWithCaseInsensitive

Introduced in: v25.10.0 Checks whether a string ends with the provided case-insensitive suffix. Syntax
Arguments
  • s — String to check. String
  • suffix — Case-insensitive suffix to check for. String
Returned value Returns 1 if s ends with case-insensitive suffix, otherwise 0. UInt8 Examples Usage example
Query
Response

endsWithCaseInsensitiveUTF8

Introduced in: v25.10.0 Returns whether string s ends with case-insensitive suffix. Assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Arguments
  • s — String to check. String
  • suffix — Case-insensitive suffix to check for. String
Returned value Returns 1 if s ends with case-insensitive suffix, otherwise 0. UInt8 Examples Usage example
Query
Response

endsWithUTF8

Introduced in: v23.8.0 Returns whether string s ends with suffix. Assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Arguments
  • s — String to check. String
  • suffix — Suffix to check for. String
Returned value Returns 1 if s ends with suffix, otherwise 0. UInt8 Examples Usage example
Query
Response

extractTextFromHTML

Introduced in: v21.3.0 Extracts text content from HTML or XHTML. This function removes HTML tags, comments, and script/style elements, leaving only the text content. It handles:
  • Removal of all HTML/XML tags
  • Removal of comments ({/* */})
  • Removal of script and style elements with their content
  • Processing of CDATA sections (copied verbatim)
  • Proper whitespace handling and normalization
Note: HTML entities are not decoded and should be processed with a separate function if needed. Syntax
Arguments
  • html — String containing HTML content to extract text from. String
Returned value Returns the extracted text content with normalized whitespace. String Examples Usage example
Query
Response

firstLine

Introduced in: v23.7.0 Returns the first line of a multi-line string. Syntax
Arguments Returned value Returns the first line of the input string or the whole string if there are no line separators. String Examples Usage example
Query
Response

idnaDecode

Introduced in: v24.1.0 Returns the Unicode (UTF-8) representation (ToUnicode algorithm) of a domain name according to the Internationalized Domain Names in Applications (IDNA) mechanism. In case of an error (e.g. because the input is invalid), the input string is returned. Note that repeated application of idnaEncode() and idnaDecode() does not necessarily return the original string due to case normalization. Syntax
Arguments Returned value Returns a Unicode (UTF-8) representation of the input string according to the IDNA mechanism of the input value. String Examples Usage example
Query
Response

idnaEncode

Introduced in: v24.1.0 Returns the ASCII representation (ToASCII algorithm) of a domain name according to the Internationalized Domain Names in Applications (IDNA) mechanism. The input string must be UTF-encoded and translatable to an ASCII string, otherwise an exception is thrown.
No percent decoding or trimming of tabs, spaces or control characters is performed.
Syntax
Arguments Returned value Returns an ASCII representation of the input string according to the IDNA mechanism of the input value. String Examples Usage example
Query
Response

initcap

Introduced in: v23.7.0 Converts the first letter of each word to upper case and the rest to lower case. Words are sequences of alphanumeric characters separated by non-alphanumeric characters.
Because initcap converts only the first letter of each word to upper case you may observe unexpected behaviour for words containing apostrophes or capital letters. This is a known behaviour and there are no plans to fix it currently.
Syntax
Arguments Returned value Returns s with the first letter of each word converted to upper case. String Examples Usage example
Query
Response
Example of known behavior for words containing apostrophes or capital letters
Query
Response

initcapUTF8

Introduced in: v23.7.0 Like initcap, initcapUTF8 converts the first letter of each word to upper case and the rest to lower case. Assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined.
This function does not detect the language, e.g. for Turkish the result might not be exactly correct (i/İ vs. i/I). If the length of the UTF-8 byte sequence is different for upper and lower case of a code point, the result may be incorrect for this code point.
Syntax
Arguments Returned value Returns s with the first letter of each word converted to upper case. String Examples Usage example
Query
Response

isValidASCII

Introduced in: v25.9.0 Returns 1 if the input String or FixedString contains only ASCII bytes (0x00–0x7F), otherwise 0. Optimized for the positive case (the input is valid ASCII). Syntax
Aliases: isASCII Arguments
  • None.
Returned value Examples isValidASCII
Query
Response

isValidUTF8

Introduced in: v20.1.0 Checks if the set of bytes constitutes valid UTF-8-encoded text. Syntax
Arguments
  • s — The string to check for UTF-8 encoded validity. String
Returned value Returns 1, if the set of bytes constitutes valid UTF-8-encoded text, otherwise 0. UInt8 Examples Usage example
Query
Response

jaroSimilarity

Introduced in: v24.1.0 Calculates the Jaro similarity between two byte strings. Syntax
Arguments
  • s1 — First input string. String
  • s2 — Second input string. String
Returned value Returns the Jaro similarity between the two strings. Float64 Examples Usage example
Query
Response

jaroWinklerSimilarity

Introduced in: v24.1.0 Calculates the Jaro-Winkler similarity between two byte strings. Syntax
Arguments
  • s1 — First input string. String
  • s2 — Second input string. String
Returned value Returns the Jaro-Winkler similarity between the two strings. Float64 Examples Usage example
Query
Response

left

Introduced in: v22.1.0 Returns a substring of string s with a specified offset starting from the left. Syntax
Arguments
  • s — The string to calculate a substring from. String or FixedString
  • offset — The number of bytes of the offset. (U)Int*
Returned value Returns:
  • For positive offset, a substring of s with offset many bytes, starting from the left of the string.
  • For negative offset, a substring of s with length(s) - |offset| bytes, starting from the left of the string.
  • An empty string if length is 0. String
Examples Positive offset
Query
Response
Negative offset
Query
Response

leftPad

Introduced in: v21.8.0 Pads a string from the left with spaces or with a specified string (multiple times, if needed) until the resulting string reaches the specified length. Syntax
Aliases: lpad Arguments
  • string — Input string that should be padded. String
  • length — The length of the resulting string. If the value is smaller than the input string length, then the input string is shortened to length characters. (U)Int*
  • pad_string — Optional. The string to pad the input string with. If not specified, then the input string is padded with spaces. String
Returned value Returns a left-padded string of the given length. String Examples Usage example
Query
Response

leftPadUTF8

Introduced in: v21.8.0 Pads a UTF8 string from the left with spaces or a specified string (multiple times, if needed) until the resulting string reaches the given length. Unlike leftPad which measures the string length in bytes, the string length is measured in code points. Syntax
Arguments
  • string — Input string that should be padded. String
  • length — The length of the resulting string. If the value is smaller than the input string length, then the input string is shortened to length characters. (U)Int*
  • pad_string — Optional. The string to pad the input string with. If not specified, then the input string is padded with spaces. String
Returned value Returns a left-padded string of the given length. String Examples Usage example
Query
Response

leftUTF8

Introduced in: v22.1.0 Returns a substring of a UTF-8-encoded string s with a specified offset starting from the left. Syntax
Arguments
  • s — The UTF-8 encoded string to calculate a substring from. String or FixedString
  • offset — The number of bytes of the offset. (U)Int*
Returned value Returns:
  • For positive offset, a substring of s with offset many bytes, starting from the left of the string.\n”
  • For negative offset, a substring of s with length(s) - |offset| bytes, starting from the left of the string.\n”
  • An empty string if length is 0. String
Examples Positive offset
Query
Response
Negative offset
Query
Response

lengthUTF8

Introduced in: v1.1.0 Returns the length of a string in Unicode code points rather than in bytes or characters. It assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Aliases: CHARACTER_LENGTH, CHAR_LENGTH Arguments
  • s — String containing valid UTF-8 encoded text. String
Returned value Length of the string s in Unicode code points. UInt64 Examples Usage example
Query
Response

lower

Introduced in: v1.1.0 Converts an ASCII string to lowercase. Syntax
Aliases: lcase Arguments
  • s — A string to convert to lowercase. String
Returned value Returns a lowercase string from s. String Examples Usage example
Query
Response

lowerUTF8

Introduced in: v1.1.0 Converts a string to lowercase, assuming that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Arguments
  • input — Input string to convert to lowercase. String
Returned value Returns a lowercase string. String Examples first
Query
Response

naturalSortKey

Introduced in: v26.3.0 The function is used for natural sorting. Syntax
Aliases: NATURAL_SORT_KEY Arguments
  • s — A string to convert to natural sort key. String
Returned value Returns a natural sort key string from s. String Examples Usage example
Query
Response

normalizeUTF8NFC

Introduced in: v21.11.0 Normalizes a UTF-8 string according to the NFC normalization form. Syntax
Arguments
  • str — UTF-8 encoded input string. String
Returned value Returns the NFC normalized form of the UTF-8 string. String Examples Usage example
Query
Response

normalizeUTF8NFD

Introduced in: v21.11.0 Normalizes a UTF-8 string according to the NFD normalization form. Syntax
Arguments
  • str — UTF-8 encoded input string. String
Returned value Returns the NFD normalized form of the UTF-8 string. String Examples Usage example
Query
Response

normalizeUTF8NFKC

Introduced in: v21.11.0 Normalizes a UTF-8 string according to the NFKC normalization form. Syntax
Arguments
  • str — UTF-8 encoded input string. String
Returned value Returns the NFKC normalized form of the UTF-8 string. String Examples Usage example
Query
Response

normalizeUTF8NFKCCasefold

Introduced in: v26.3.0 Normalizes a UTF-8 string according to the NFKC_Casefold normalization form, which applies NFKC normalization and then case folding. This is useful for case-insensitive matching of identifiers. Syntax
Arguments
  • str — UTF-8 encoded input string. String
Returned value Returns the NFKC_Casefold normalized form of the UTF-8 string. String Examples Usage example
Query
Response

normalizeUTF8NFKD

Introduced in: v21.11.0 Normalizes a UTF-8 string according to the NFKD normalization form. Syntax
Arguments
  • str — UTF-8 encoded input string. String
Returned value Returns the NFKD normalized form of the UTF-8 string. String Examples Usage example
Query
Response

punycodeDecode

Introduced in: v24.1.0 Returns the UTF8-encoded plaintext of a Punycode-encoded string. If no valid Punycode-encoded string is given, an exception is thrown. Syntax
Arguments
  • s — Punycode-encoded string. String
Returned value Returns the plaintext of the input value. String Examples Usage example
Query
Response

punycodeEncode

Introduced in: v24.1.0 Returns the Punycode representation of a string. The string must be UTF8-encoded, otherwise the behavior is undefined. Syntax
Arguments Returned value Returns a Punycode representation of the input value. String Examples Usage example
Query
Response

regexpExtract

Introduced in: v23.2.0 Extracts the first string in haystack that matches the regexp pattern and corresponds to the regex group index. Syntax
Aliases: REGEXP_EXTRACT Arguments
  • haystack — String, in which regexp pattern will be matched. String
  • pattern — String, regexp expression. pattern may contain multiple regexp groups, index indicates which regex group to extract. An index of 0 means matching the entire regular expression. const String
  • index — Optional. An integer number greater or equal 0 with default 1. It represents which regex group to extract. (U)Int*
Returned value Returns a string match String Examples Usage example
Query
Response

regexpPosition

Introduced in: v26.5.0 Returns the byte position (1-based) of the occurrence-th match of pattern in haystack, starting the search at byte position position. If return_option is 0 (default), the position of the first byte of the match is returned. If 1, the position of the first byte after the match is returned. If subexpression is greater than 0, the position of the corresponding capture group is returned instead of the whole match. Returns 0 if no match is found, or if the requested capture group did not participate in the match. Provided for compatibility with PostgreSQL’s regexp_instr (also exposed under that alias). Note that positions are byte-based, consistent with other ClickHouse regex functions; PostgreSQL’s regexp_instr is character-based. Syntax
Aliases: regexpInstr, regexp_instr Arguments
  • haystack — String to search in. String
  • pattern — Regular expression pattern. const String
  • position — Optional. 1-based byte position to start the search. Default: 1. (U)Int*
  • occurrence — Optional. Which match to return. Default: 1. (U)Int*
  • return_option — Optional. 0 returns the position of the match start, 1 returns the position right after the match. Default: 0. (U)Int*
  • flags — Optional. Regex flags. Supported: i (case-insensitive), c (case-sensitive), m/n (multiline anchors), s (dot matches newline). Default: empty. const String
  • subexpression — Optional. Index of capture group whose position to return. 0 means whole match. Default: 0. (U)Int*
Returned value Returns the byte position of the match, or 0 if not found. UInt64 Examples Basic usage
Query
Response

removeDiacriticsUTF8

Introduced in: v26.3.0 Removes diacritical marks (accents) from a UTF-8 string by decomposing characters via NFD, stripping combining marks (Unicode category Mn), then recomposing via NFC. Syntax
Aliases: removeAccentsUTF8 Arguments
  • str — UTF-8 encoded input string. String
Returned value UTF-8 string with diacritics removed. String Examples Basic accent removal
Query
Response

repeat

Introduced in: v20.1.0 Concatenates a string as many times with itself as specified. Syntax
Arguments
  • s — The string to repeat. String
  • n — The number of times to repeat the string. (U)Int*
Returned value A string containing string s repeated n times. If n is negative, the function returns the empty string. String Examples Usage example
Query
Response

reverseUTF8

Introduced in: v1.1.0 Reverses a sequence of Unicode code points in a string. Assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Arguments
  • s — String containing valid UTF-8 encoded text. String
Returned value Returns a string with the sequence of Unicode code points reversed. String Examples Usage example
Query
Response
Introduced in: v22.1.0 Returns a substring of string s with a specified offset starting from the right. Syntax
Arguments
  • s — The string to calculate a substring from. String or FixedString
  • offset — The number of bytes of the offset. (U)Int*
Returned value Returns:
  • For positive offset, a substring of s with offset many bytes, starting from the right of the string.
  • For negative offset, a substring of s with length(s) - |offset| bytes, starting from the right of the string.
  • An empty string if length is 0. String
Examples Positive offset
Query
Response
Negative offset
Query
Response

rightPad

Introduced in: v21.8.0 Pads a string from the right with spaces or with a specified string (multiple times, if needed) until the resulting string reaches the specified length. Syntax
Aliases: rpad Arguments
  • string — Input string that should be padded. String
  • length — The length of the resulting string. If the value is smaller than the input string length, then the input string is shortened to length characters. (U)Int*
  • pad_string — Optional. The string to pad the input string with. If not specified, then the input string is padded with spaces. String
Returned value Returns a right-padded string of the given length. String Examples Usage example
Query
Response

rightPadUTF8

Introduced in: v21.8.0 Pads the string from the right with spaces or a specified string (multiple times, if needed) until the resulting string reaches the given length. Unlike rightPad which measures the string length in bytes, the string length is measured in code points. Syntax
Arguments
  • string — Input string that should be padded. String
  • length — The length of the resulting string. If the value is smaller than the input string length, then the input string is shortened to length characters. (U)Int*
  • pad_string — Optional. The string to pad the input string with. If not specified, then the input string is padded with spaces. String
Returned value Returns a right-padded string of the given length. String Examples Usage example
Query
Response

rightUTF8

Introduced in: v22.1.0 Returns a substring of UTF-8 encoded string s with a specified offset starting from the right. Syntax
Arguments
  • s — The UTF-8 encoded string to calculate a substring from. String or FixedString
  • offset — The number of bytes of the offset. (U)Int*
Returned value Returns:
  • For positive offset, a substring of s with offset many bytes, starting from the right of the string.
  • For negative offset, a substring of s with length(s) - |offset| bytes, starting from the right of the string.
  • An empty string if length is 0. String
Examples Positive offset
Query
Response
Negative offset
Query
Response

soundex

Introduced in: v23.4.0 Returns the Soundex code of a string. Syntax
Arguments Returned value Returns the Soundex code of the input string. String Examples Usage example
Query
Response

space

Introduced in: v23.5.0 Concatenates a space ( ) as many times with itself as specified. Syntax
Arguments
  • n — The number of times to repeat the space. (U)Int*
Returned value Returns astring containing a space repeated n times. If n <= 0, the function returns the empty string. String Examples Usage example
Query
Response

sparseGrams

Introduced in: v25.5.0 Finds all substrings of a given string that have a length of at least n, where the hashes of the (n-1)-grams at the borders of the substring are strictly greater than those of any (n-1)-gram inside the substring. Uses CRC32 as a hash function. Syntax
Arguments
  • s — An input string. String
  • min_ngram_length — Optional. The minimum length of extracted ngram. The default and minimal value is 3. UInt*
  • max_ngram_length — Optional. The maximum length of extracted ngram. The default value is 100. Should be not less than min_ngram_length. UInt*
  • min_cutoff_length — Optional. If specified, only n-grams with length greater or equal than min_cutoff_length are returned. The default value is the same as min_ngram_length. Should be not less than min_ngram_length and not greater than max_ngram_length. UInt*
Returned value Returns an array of selected substrings. Array(String) Examples Usage example
Query
Response

sparseGramsHashes

Introduced in: v25.5.0 Finds hashes of all substrings of a given string that have a length of at least n, where the hashes of the (n-1)-grams at the borders of the substring are strictly greater than those of any (n-1)-gram inside the substring. Uses CRC32 as a hash function. Syntax
Arguments
  • s — An input string. String
  • min_ngram_length — Optional. The minimum length of extracted ngram. The default and minimal value is 3. UInt*
  • max_ngram_length — Optional. The maximum length of extracted ngram. The default value is 100. Should be not less than min_ngram_length. UInt*
  • min_cutoff_length — Optional. If specified, only n-grams with length greater or equal than min_cutoff_length are returned. The default value is the same as min_ngram_length. Should be not less than min_ngram_length and not greater than max_ngram_length. UInt*
Returned value Returns an array of selected substrings CRC32 hashes. Array(UInt32) Examples Usage example
Query
Response

sparseGramsHashesUTF8

Introduced in: v25.5.0 Finds hashes of all substrings of a given UTF-8 string that have a length of at least n, where the hashes of the (n-1)-grams at the borders of the substring are strictly greater than those of any (n-1)-gram inside the substring. Expects UTF-8 string, throws an exception in case of invalid UTF-8 sequence. Uses CRC32 as a hash function. Syntax
Arguments
  • s — An input string. String
  • min_ngram_length — Optional. The minimum length of extracted ngram. The default and minimal value is 3. UInt*
  • max_ngram_length — Optional. The maximum length of extracted ngram. The default value is 100. Should be not less than min_ngram_length. UInt*
  • min_cutoff_length — Optional. If specified, only n-grams with length greater or equal than min_cutoff_length are returned. The default value is the same as min_ngram_length. Should be not less than min_ngram_length and not greater than max_ngram_length. UInt*
Returned value Returns an array of selected UTF-8 substrings CRC32 hashes. Array(UInt32) Examples Usage example
Query
Response

sparseGramsUTF8

Introduced in: v25.5.0 Finds all substrings of a given UTF-8 string that have a length of at least n, where the hashes of the (n-1)-grams at the borders of the substring are strictly greater than those of any (n-1)-gram inside the substring. Expects a UTF-8 string, throws an exception in case of an invalid UTF-8 sequence. Uses CRC32 as a hash function. Syntax
Arguments
  • s — An input string. String
  • min_ngram_length — Optional. The minimum length of extracted ngram. The default and minimal value is 3. UInt*
  • max_ngram_length — Optional. The maximum length of extracted ngram. The default value is 100. Should be not less than min_ngram_length. UInt*
  • min_cutoff_length — Optional. If specified, only n-grams with length greater or equal than min_cutoff_length are returned. The default value is the same as min_ngram_length. Should be not less than min_ngram_length and not greater than max_ngram_length. UInt*
Returned value Returns an array of selected UTF-8 substrings. Array(String) Examples Usage example
Query
Response

startsWith

Introduced in: v1.1.0 Checks whether a string begins with the provided string. Syntax
Arguments
  • s — String to check. String
  • prefix — Prefix to check for. String
Returned value Returns 1 if s starts with prefix, otherwise 0. UInt8 Examples Usage example
Query
Response

startsWithCaseInsensitive

Introduced in: v25.10.0 Checks whether a string begins with the provided case-insensitive string. Syntax
Arguments
  • s — String to check. String
  • prefix — Case-insensitive prefix to check for. String
Returned value Returns 1 if s starts with case-insensitive prefix, otherwise 0. UInt8 Examples Usage example
Query
Response

startsWithCaseInsensitiveUTF8

Introduced in: v25.10.0 Checks if a string starts with the provided case-insensitive prefix. Assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Arguments
  • s — String to check. String
  • prefix — Case-insensitive prefix to check for. String
Returned value Returns 1 if s starts with case-insensitive prefix, otherwise 0. UInt8 Examples Usage example
Query
Response

startsWithUTF8

Introduced in: v23.8.0 Checks if a string starts with the provided prefix. Assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Arguments
  • s — String to check. String
  • prefix — Prefix to check for. String
Returned value Returns 1 if s starts with prefix, otherwise 0. UInt8 Examples Usage example
Query
Response

stringBytesEntropy

Introduced in: v25.6.0 Calculates Shannon’s entropy of byte distribution in a string. Syntax
Arguments
  • s — The string to analyze. String
Returned value Returns Shannon’s entropy of byte distribution in the string. Float64 Examples Usage example
Query
Response

stringBytesUniq

Introduced in: v25.6.0 Counts the number of distinct bytes in a string. Syntax
Arguments
  • s — The string to analyze. String
Returned value Returns the number of distinct bytes in the string. UInt16 Examples Usage example
Query
Response

stringJaccardIndex

Introduced in: v23.11.0 Calculates the Jaccard similarity index between two byte strings. Syntax
Arguments
  • s1 — First input string. String
  • s2 — Second input string. String
Returned value Returns the Jaccard similarity index between the two strings. Float64 Examples Usage example
Query
Response

stringJaccardIndexUTF8

Introduced in: v23.11.0 Like stringJaccardIndex but for UTF8-encoded strings. Syntax
Arguments
  • s1 — First input UTF8 string. String
  • s2 — Second input UTF8 string. String
Returned value Returns the Jaccard similarity index between the two UTF8 strings. Float64 Examples Usage example
Query
Response

substring

Introduced in: v1.1.0 Returns the substring of a string s which starts at the specified byte index offset. Byte counting starts from 1 with the following logic:
  • If offset is 0, an empty string is returned.
  • If offset is negative, the substring starts offset characters from the end of the string, rather than from the beginning.
An optional argument length specifies the maximum number of bytes the returned substring may have. Syntax
Aliases: byteSlice, mid, substr Arguments
  • s — The string to calculate a substring from. String or FixedString or Enum
  • offset — The starting position of the substring in s. (U)Int*
  • length — Optional. The maximum length of the substring. (U)Int*
Returned value Returns a substring of s with length many bytes, starting at index offset. String Examples Basic usage
Query
Response

substringIndex

Introduced in: v23.7.0 Returns the substring of s before count occurrences of the delimiter delim, as in Spark or MySQL. Syntax
Aliases: SUBSTRING_INDEX Arguments
  • s — The string to extract substring from. String
  • delim — The character to split. String
  • count — The number of occurrences of the delimiter to count before extracting the substring. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. UInt or Int
Returned value Returns a substring of s before count occurrences of delim. String Examples Usage example
Query
Response

substringIndexUTF8

Introduced in: v23.7.0 Returns the substring of s before count occurrences of the delimiter delim, specifically for Unicode code points. Assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined. Syntax
Arguments
  • s — The string to extract substring from. String
  • delim — The character to split. String
  • count — The number of occurrences of the delimiter to count before extracting the substring. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. UInt or Int
Returned value Returns a substring of s before count occurrences of delim. String Examples UTF8 example
Query
Response

substringUTF8

Introduced in: v1.1.0 Returns the substring of a string s which starts at the specified code point index offset. Code point counting starts from 1 with the following logic:
  • If offset is 0, an empty string is returned.
  • If offset is negative, the substring starts offset code points from the end of the string, rather than from the beginning.
An optional argument length specifies the maximum number of code points the returned substring may have.
This function assumes that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined.
Syntax
Arguments
  • s — The string to calculate a substring from. String or FixedString or Enum
  • offset — The starting position of the substring in s. Int or UInt
  • length — The maximum length of the substring. Optional. Int or UInt
Returned value Returns a substring of s with length many code points, starting at code point index offset. String Examples Usage example
Query
Response

toValidUTF8

Introduced in: v20.1.0 Converts a string to valid UTF-8 encoding by replacing any invalid UTF-8 characters with the replacement character (U+FFFD). When multiple consecutive invalid characters are found, they are collapsed into a single replacement character. Syntax
Arguments
  • s — Any set of bytes represented as the String data type object. String
Returned value Returns a valid UTF-8 string. String Examples Usage example
Query
Response

trimBoth

Introduced in: v20.1.0 Removes the specified characters from the start and end of a string. By default, removes common whitespace (ASCII) characters. Syntax
Aliases: trim Arguments
  • s — String to trim. String
  • trim_characters — Optional. Characters to trim. If not specified, common whitespace characters are removed. String
Returned value Returns the string with specified characters trimmed from both ends. String Examples Usage example
Query
Response

trimLeft

Introduced in: v20.1.0 Removes the specified characters from the start of a string. By default, removes common whitespace (ASCII) characters. Syntax
Aliases: ltrim Arguments
  • input — String to trim. String
  • trim_characters — Optional. Characters to trim. If not specified, common whitespace characters are removed. String
Returned value Returns the string with specified characters trimmed from the left. String Examples Usage example
Query
Response

trimRight

Introduced in: v20.1.0 Removes the specified characters from the end of a string. By default, removes common whitespace (ASCII) characters. Syntax
Aliases: rtrim Arguments
  • s — String to trim. String
  • trim_characters — Optional characters to trim. If not specified, common whitespace characters are removed. String
Returned value Returns the string with specified characters trimmed from the right. String Examples Usage example
Query
Response

tryBase32Decode

Introduced in: v25.6.0 Accepts a string and decodes it using Base32 encoding scheme. Syntax
Arguments
  • encoded — String column or constant to decode. If the string is not valid Base32-encoded, returns an empty string in case of error. String
Returned value Returns a string containing the decoded value of the argument. String Examples Usage example
Query
Response

tryBase58Decode

Introduced in: v22.10.0 Like base58Decode, but returns an empty string in case of error. Syntax
Arguments
  • encoded — String column or constant. If the string is not valid Base58-encoded, returns an empty string in case of error. String
  • expected_size — Optional. Expected decoded size in bytes. When 32 or 64, an optimized decoder is used; for other values, the generic decoder is used. UInt8, UInt16, UInt32, or UInt64
Returned value Returns a string containing the decoded value of the argument. String Examples Usage example
Query
Response

tryBase64Decode

Introduced in: v18.16.0 Like base64Decode, but returns an empty string in case of error. Syntax
Arguments
  • encoded — String column or constant to decode. If the string is not valid Base64-encoded, returns an empty string in case of error. String
Returned value Returns a string containing the decoded value of the argument. String Examples Usage example
Query
Response

tryBase64URLDecode

Introduced in: v18.16.0 Like base64URLDecode, but returns an empty string in case of error. Syntax
Arguments
  • encoded — String column or constant to decode. If the string is not valid Base64-encoded, returns an empty string in case of error. String
Returned value Returns a string containing the decoded value of the argument. String Examples Usage example
Query
Response

tryIdnaEncode

Introduced in: v24.1.0 Returns the Unicode (UTF-8) representation (ToUnicode algorithm) of a domain name according to the Internationalized Domain Names in Applications (IDNA) mechanism. In case of an error it returns an empty string instead of throwing an exception. Syntax
Arguments Returned value Returns an ASCII representation of the input string according to the IDNA mechanism of the input value, or empty string if input is invalid. String Examples Usage example
Query
Response

tryPunycodeDecode

Introduced in: v24.1.0 Like punycodeDecode but returns an empty string if no valid Punycode-encoded string is given. Syntax
Arguments
  • s — Punycode-encoded string. String
Returned value Returns the plaintext of the input value, or empty string if input is invalid. String Examples Usage example
Query
Response

upper

Introduced in: v1.1.0 Converts the ASCII Latin symbols in a string to uppercase. Syntax
Aliases: ucase Arguments
  • s — The string to convert to uppercase. String
Returned value Returns an uppercase string from s. String Examples Usage example
Query
Response

upperUTF8

Introduced in: v1.1.0 Converts a string to uppercase, assuming that the string contains valid UTF-8 encoded text. If this assumption is violated, no exception is thrown and the result is undefined.
This function doesn’t detect the language, e.g. for Turkish the result might not be exactly correct (i/İ vs. i/I). If the length of the UTF-8 byte sequence is different for upper and lower case of a code point (such as and ß), the result may be incorrect for that code point.
Syntax
Arguments Returned value A String data type value. String Examples Usage example
Query
Response
Last modified on June 19, 2026