String Functions

25 functions for trimming, casing, padding, and character-level string manipulation. The source column is always the implicit first input.

FunctionSyntaxParametersNotes
trimtrim(column)None.Removes leading and trailing whitespace.
ltrimltrim(column)None.Removes leading whitespace only.
rtrimrtrim(column)None.Removes trailing whitespace only.
upperupper(column)None.Converts to uppercase.
lowerlower(column)None.Converts to lowercase.
title_casetitle_case(column)None.Capitalizes the first letter of each word (Spark initcap).
lengthlength(column)None.Returns character length.
concatconcat(column, values[])values — array of operands, each {mode: "column"|"literal"|"expression", value}.Concatenates the source column with each operand in order. Legacy single-value/suffix form also supported.
substringsubstring(column, startPos, length)startPos default 1. length default 1.1-indexed, matches Spark substring() semantics.
pad_leftpad_left(column, length, padChar)length default 10. padChar default "0".F.lpad().
pad_rightpad_right(column, length, padChar)length default 10. padChar default " ".F.rpad().
replacereplace(column, search, replace)search, replace — literal substrings.Plain substring replace, not regex (see Regex category for pattern-based replace).
reversereverse(column)None.Reverses character order.
concat_wsconcat_ws(column, separator, values[])separator default ",". values — array of operands.Concatenate-with-separator; nulls are skipped.
leftleft(column, length)length default 1.Leftmost N characters.
rightright(column, length)length default 1.Rightmost N characters.
positionposition(column, search)search — substring to locate.Returns 1-indexed position, 0 if not found.
char_lengthchar_length(column)None.Character count (alias of length for character semantics).
octet_lengthoctet_length(column)None.Byte length.
bit_lengthbit_length(column)None.Bit length (octet_length * 8).
translatetranslate(column, fromChars, toChars)fromChars, toChars — matched character sets.Character-by-character substitution, F.translate().
repeatrepeat(column, count)count default 2.
ascii_codeascii_code(column)None.ASCII code of the first character.
char_from_codechar_from_code(column)None.CHR(CAST(column AS INT)) — inverse of ascii_code.
soundex_differencesoundex_difference(column, otherColumn)otherColumn — column to compare against.Compares Soundex codes of the two columns; returns a boolean/difference indicator.