📣
TiDB Cloud Premium is now in public preview. Unlimited growth, instant elasticity, advanced security for enterprise workloads. Try it out →

String Functions



This page provides a comprehensive overview of String functions in TiDB Cloud Lake, organized by functionality for easy reference.

String Concatenation and Manipulation

FunctionDescriptionExample
CONCATConcatenates stringsCONCAT('data', 'lake') → 'datalake'
CONCAT_WSConcatenates strings with a separatorCONCAT_WS('-', 'data', 'lake') → 'data-lake'
INSERTInserts a string at a specified positionINSERT('datalake', 5, 0, 'cloud') → 'datacloudlake'
REPLACEReplaces occurrences of a substringREPLACE('datalake', 'lake', 'cloud') → 'datacloud'
TRANSLATEReplaces characters with their replacementsTRANSLATE('datalake', 'de', 'DE') → 'DatalakE'

String Extraction

FunctionDescriptionExample
LEFTReturns leftmost charactersLEFT('datalake', 4) → 'data'
RIGHTReturns rightmost charactersRIGHT('datalake', 4) → 'lake'
SUBSTR / SUBSTRINGExtracts a substringSUBSTR('datalake', 5, 4) → 'lake'
MIDExtracts a substring (alias for SUBSTRING)MID('datalake', 5, 4) → 'lake'
SPLITSplits a string into an arraySPLIT('data,lake', ',') → ['data', 'lake']
SPLIT_PARTReturns a specific part after splittingSPLIT_PART('data,lake', ',', 2) → 'lake'
REGEXP_SPLIT_TO_ARRAYSplit a string into an array of segments using the specified patternregexp_split_to_array('apple,banana,orange', ','); → '['apple','banana','orange']'
REGEXP_SPLIT_TO_TABLESplit a string into a table of segments using the specified patternregexp_split_to_table('data,lake', ',', 2)

String Padding and Formatting

FunctionDescriptionExample
LPADLeft-pads a string to a lengthLPAD('lake', 8, 'data') → 'datalake'
RPADRight-pads a string to a lengthRPAD('data', 8, 'lake') → 'datalake'
REPEATRepeats a string n timesREPEAT('data', 2) → 'datadata'
SPACEReturns a string of spacesSPACE(4) → ' '
REVERSEReverses a stringREVERSE('datalake') → 'ekalatad'

String Trimming

FunctionDescriptionExample
TRIMRemoves leading and trailing spacesTRIM(' datalake ') → 'datalake'
TRIM_BOTHRemoves specified chars from both endsTRIM_BOTH('xxdatalakexx', 'x') → 'datalake'
TRIM_LEADINGRemoves specified chars from startTRIM_LEADING('xxdatalake', 'x') → 'datalake'
TRIM_TRAILINGRemoves specified chars from endTRIM_TRAILING('datalakexx', 'x') → 'datalake'
LTRIMRemoves leading spacesLTRIM(' datalake') → 'datalake'
RTRIMRemoves trailing spacesRTRIM('datalake ') → 'datalake'

String Information

FunctionDescriptionExample
LENGTHReturns string length in charactersLENGTH('datalake') → 8
CHAR_LENGTH / CHARACTER_LENGTHReturns string length in charactersCHAR_LENGTH('datalake') → 8
BIT_LENGTHReturns string length in bitsBIT_LENGTH('datalake') → 64
OCTET_LENGTHReturns string length in bytesOCTET_LENGTH('datalake') → 8
INSTRReturns position of first occurrenceINSTR('datalake', 'lake') → 5
LOCATEReturns position of first occurrenceLOCATE('lake', 'datalake') → 5
POSITIONReturns position of first occurrencePOSITION('lake' IN 'datalake') → 5
STRCMPCompares two stringsSTRCMP('datalake', 'datalake') → 0
JARO_WINKLERReturns similarity between stringsJARO_WINKLER('datalake', 'datalake') → 1.0

Case Conversion

FunctionDescriptionExample
LOWER / LCASEConverts to lowercaseLOWER('DataLake') → 'datalake'
UPPER / UCASEConverts to uppercaseUPPER('datalake') → 'DATALAKE'

Pattern Matching

FunctionDescriptionExample
LIKEPattern matching with wildcards'datalake' LIKE 'data%' → true
NOT_LIKENegated LIKE'datalake' NOT LIKE 'cloud%' → true
REGEXP / RLIKEPattern matching with regex'datalake' REGEXP '^data' → true
NOT_REGEXP / NOT_RLIKENegated regex matching'datalake' NOT REGEXP '^cloud' → true
REGEXP_LIKEReturns boolean for regex matchREGEXP_LIKE('datalake', '^data') → true
REGEXP_INSTRReturns position of regex matchREGEXP_INSTR('datalake', 'lake') → 5
REGEXP_SUBSTRReturns substring matching regexREGEXP_SUBSTR('datalake', 'lake') → 'lake'
REGEXP_REPLACEReplaces regex matchesREGEXP_REPLACE('datalake', 'lake', 'cloud') → 'datacloud'
GLOBUnix-style pattern matching'datalake' GLOB 'data*' → true

Encoding and Decoding

FunctionDescriptionExample
ASCIIReturns ASCII value of first characterASCII('D') → 68
ORDReturns Unicode code point of first characterORD('D') → 68
CHAR / CHRReturns string of characters for given Unicode code pointsCHAR(68,97,116,97) → 'Data'
BINReturns binary representationBIN(5) → '101'
OCTReturns octal representationOCT(8) → '10'
HEXReturns hexadecimal representationHEX('ABC') → '414243'
UNHEXConverts hex to binaryUNHEX('414243') → 'ABC'
TO_BASE64Encodes to base64TO_BASE64('datalake') → 'ZGF0YWxha2U='
FROM_BASE64Decodes from base64FROM_BASE64('ZGF0YWxha2U=') → 'datalake'

Miscellaneous

FunctionDescriptionExample
QUOTEEscapes string for SQLQUOTE('datalake') → '"datalake"'
SOUNDEXReturns soundex codeSOUNDEX('datalake') → 'D42'
SOUNDSLIKECompares soundex valuesSOUNDSLIKE('datalake', 'datalake') → true

Was this page helpful?