跳到主要内容

字符串函数

本页面全面概述了 Databend 中的字符串函数,并按功能进行组织,方便参考。

字符串拼接与操作​

函数描述示例
CONCAT拼接字符串CONCAT('data', 'bend') → 'databend'
CONCAT_WS使用分隔符拼接字符串CONCAT_WS('-', 'data', 'bend') → 'data-bend'
INSERT在指定位置插入字符串INSERT('databend', 5, 0, 'cloud') → 'databcloudbend'
REPLACE替换子字符串REPLACE('databend', 'bend', 'cloud') → 'datacloud'
TRANSLATE将字符替换为映射字符TRANSLATE('databend', 'abn', '123') → 'd1t12e3d'

字符串提取​

函数描述示例
LEFT返回最左侧字符LEFT('databend', 4) → 'data'
RIGHT返回最右侧字符RIGHT('databend', 4) → 'bend'
SUBSTR / SUBSTRING提取子字符串SUBSTR('databend', 5, 4) → 'bend'
MID提取子字符串(SUBSTRING 别名)MID('databend', 5, 4) → 'bend'
SPLIT将字符串拆分为数组SPLIT('data,bend', ',') → ['data', 'bend']
SPLIT_PART返回拆分后的指定部分SPLIT_PART('data,bend', ',', 2) → 'bend'
REGEXP_SPLIT_TO_ARRAY使用正则表达式将字符串拆分为子字符串数组regexp_split_to_array('apple,banana,orange', ','); → '['apple','banana','orange']'
REGEXP_SPLIT_TO_TABLE使用正则表达式将字符串拆分为行组成的表regexp_split_to_table('data,bend', ',', 2)

字符串填充与格式化​

函数描述示例
LPAD向左填充字符串至指定长度LPAD('bend', 8, 'data') → 'databend'
RPAD向右填充字符串至指定长度RPAD('data', 8, 'bend') → 'databend'
REPEAT重复字符串 n 次REPEAT('data', 2) → 'datadata'
SPACE返回空格组成的字符串SPACE(4) → ' '
REVERSE反转字符串REVERSE('databend') → 'dnebtad'

字符串修剪​

函数描述示例
TRIM移除首尾空格TRIM(' databend ') → 'databend'
TRIM_BOTH移除两端指定字符TRIM_BOTH('xxdatabendxx', 'x') → 'databend'
TRIM_LEADING移除开头指定字符TRIM_LEADING('xxdatabend', 'x') → 'databend'
TRIM_TRAILING移除末尾指定字符TRIM_TRAILING('databendxx', 'x') → 'databend'
LTRIM移除开头空格LTRIM(' databend') → 'databend'
RTRIM移除末尾空格RTRIM('databend ') → 'databend'

字符串信息​

函数描述示例
LENGTH返回字符长度LENGTH('databend') → 8
CHAR_LENGTH / CHARACTER_LENGTH返回字符长度CHAR_LENGTH('databend') → 8
BIT_LENGTH返回比特长度BIT_LENGTH('databend') → 64
OCTET_LENGTH返回字节长度OCTET_LENGTH('databend') → 8
INSTR返回首次出现位置INSTR('databend', 'bend') → 5
LOCATE返回首次出现位置LOCATE('bend', 'databend') → 5
POSITION返回首次出现位置POSITION('bend' IN 'databend') → 5
STRCMP比较两个字符串STRCMP('databend', 'datacloud') → -1
JARO_WINKLER返回字符串相似度JARO_WINKLER('databend', 'databand') → 0.9619047619047619

大小写转换​

函数描述示例
LOWER / LCASE转换为小写LOWER('DataBend') → 'databend'
UPPER / UCASE转换为大写UPPER('databend') → 'DATABEND'

模式匹配​

函数描述示例
LIKE使用通配符匹配模式'databend' LIKE 'data%' → true
NOT_LIKELIKE 的否定形式'databend' NOT LIKE 'cloud%' → true
REGEXP / RLIKE使用正则表达式匹配'databend' REGEXP '^data' → true
NOT_REGEXP / NOT_RLIKE正则匹配的否定形式'databend' NOT REGEXP '^cloud' → true
REGEXP_LIKE返回正则匹配结果REGEXP_LIKE('databend', '^data') → true
REGEXP_INSTR返回正则匹配位置REGEXP_INSTR('databend', 'bend') → 5
REGEXP_SUBSTR返回正则匹配的子字符串REGEXP_SUBSTR('databend', 'bend') → 'bend'
REGEXP_REPLACE替换正则匹配项REGEXP_REPLACE('databend', 'bend', 'cloud') → 'datacloud'
GLOBUnix 风格模式匹配'databend' GLOB 'data*' → true

编码与解码​

函数描述示例
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('databend') → 'ZGF0YWJlbmQ='
FROM_BASE64从 base64 解码FROM_BASE64('ZGF0YWJlbmQ=') → 'databend'

其他​

函数描述示例
QUOTESQL 转义字符串QUOTE('databend') → '"databend"'
SOUNDEX返回 Soundex 编码SOUNDEX('databend') → 'D315'
SOUNDSLIKE比较 Soundex 值SOUNDSLIKE('databend', 'databand') → true
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验