📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

字符串函数



本页按功能对 TiDB Cloud Lake 中的字符串函数进行了全面概览,便于快速查阅。

字符串拼接与操作

Function描述示例
CONCAT拼接字符串CONCAT('data', 'lake') → 'datalake'
CONCAT_WS使用分隔符拼接字符串CONCAT_WS('-', 'data', 'lake') → 'data-lake'
INSERT在指定位置插入字符串INSERT('datalake', 5, 0, 'cloud') → 'datacloudlake'
REPLACE替换子字符串的出现位置REPLACE('datalake', 'lake', 'cloud') → 'datacloud'
TRANSLATE将字符替换为对应的替换字符TRANSLATE('datalake', 'de', 'DE') → 'DatalakE'

字符串提取

Function描述示例
LEFT返回最左侧的字符LEFT('datalake', 4) → 'data'
RIGHT返回最右侧的字符RIGHT('datalake', 4) → 'lake'
SUBSTR / SUBSTRING提取子字符串SUBSTR('datalake', 5, 4) → 'lake'
MID提取子字符串(SUBSTRING 的别名)MID('datalake', 5, 4) → 'lake'
SPLIT将字符串切分为数组SPLIT('data,lake', ',') → ['data', 'lake']
SPLIT_PART切分后返回指定部分SPLIT_PART('data,lake', ',', 2) → 'lake'
REGEXP_SPLIT_TO_ARRAY使用指定模式将字符串切分为片段数组regexp_split_to_array('apple,banana,orange', ','); → '['apple','banana','orange']'
REGEXP_SPLIT_TO_TABLE使用指定模式将字符串切分为片段表regexp_split_to_table('data,lake', ',', 2)

字符串填充与格式化

Function描述示例
LPAD在左侧填充字符串至指定长度LPAD('lake', 8, 'data') → 'datalake'
RPAD在右侧填充字符串至指定长度RPAD('data', 8, 'lake') → 'datalake'
REPEAT将字符串重复 n 次REPEAT('data', 2) → 'datadata'
SPACE返回由空格组成的字符串SPACE(4) → ' '
REVERSE反转字符串REVERSE('datalake') → 'ekalatad'

字符串裁剪

Function描述示例
TRIM移除首尾空格TRIM(' datalake ') → 'datalake'
TRIM_BOTH移除两端指定字符TRIM_BOTH('xxdatalakexx', 'x') → 'datalake'
TRIM_LEADING移除开头的指定字符TRIM_LEADING('xxdatalake', 'x') → 'datalake'
TRIM_TRAILING移除末尾的指定字符TRIM_TRAILING('datalakexx', 'x') → 'datalake'
LTRIM移除前导空格LTRIM(' datalake') → 'datalake'
RTRIM移除尾随空格RTRIM('datalake ') → 'datalake'

字符串信息

Function描述示例
LENGTH返回字符串的字符长度LENGTH('datalake') → 8
CHAR_LENGTH / CHARACTER_LENGTH返回字符串的字符长度CHAR_LENGTH('datalake') → 8
BIT_LENGTH返回字符串的位长度BIT_LENGTH('datalake') → 64
OCTET_LENGTH返回字符串的字节长度OCTET_LENGTH('datalake') → 8
INSTR返回首次出现的位置INSTR('datalake', 'lake') → 5
LOCATE返回首次出现的位置LOCATE('lake', 'datalake') → 5
POSITION返回首次出现的位置POSITION('lake' IN 'datalake') → 5
STRCMP比较两个字符串STRCMP('datalake', 'datalake') → 0
JARO_WINKLER返回字符串之间的相似度JARO_WINKLER('datalake', 'datalake') → 1.0

大小写转换

Function描述示例
LOWER / LCASE转换为小写LOWER('DataLake') → 'datalake'
UPPER / UCASE转换为大写UPPER('datalake') → 'DATALAKE'

模式匹配

Function描述示例
LIKE使用通配符进行模式匹配'datalake' LIKE 'data%' → true
NOT_LIKELIKE 的否定形式'datalake' NOT LIKE 'cloud%' → true
REGEXP / RLIKE使用正则表达式进行模式匹配'datalake' REGEXP '^data' → true
NOT_REGEXP / NOT_RLIKE正则匹配的否定形式'datalake' NOT REGEXP '^cloud' → true
REGEXP_LIKE返回正则匹配的布尔值REGEXP_LIKE('datalake', '^data') → true
REGEXP_INSTR返回正则匹配的位置REGEXP_INSTR('datalake', 'lake') → 5
REGEXP_SUBSTR返回匹配正则的子字符串REGEXP_SUBSTR('datalake', 'lake') → 'lake'
REGEXP_REPLACE替换正则匹配的内容REGEXP_REPLACE('datalake', 'lake', 'cloud') → 'datacloud'
GLOBUnix 风格的模式匹配'datalake' GLOB 'data*' → true

编码与解码

Function描述示例
ASCII返回第一个字符的 ASCII 值ASCII('D') → 68
ORD返回第一个字符的 Unicode 码点ORD('D') → 68
CHAR / CHR根据给定的 Unicode 码点返回字符组成的字符串CHAR(68,97,116,97) → 'Data'
BIN返回二进制表示BIN(5) → '101'
OCT返回八进制表示OCT(8) → '10'
HEX返回十六进制表示HEX('ABC') → '414243'
UNHEX将十六进制转换为二进制UNHEX('414243') → 'ABC'
TO_BASE64编码为 base64TO_BASE64('datalake') → 'ZGF0YWxha2U='
FROM_BASE64从 base64 解码FROM_BASE64('ZGF0YWxha2U=') → 'datalake'

其他

Function描述示例
QUOTE为 SQL 转义字符串QUOTE('datalake') → '"datalake"'
SOUNDEX返回 soundex 编码SOUNDEX('datalake') → 'D42'
SOUNDSLIKE比较 soundex 值SOUNDSLIKE('datalake', 'datalake') → true

文档内容是否有帮助?