字符串函数和运算符¶
本页说明 Polars SQL 中可用的字符串运算符和函数。
字符串运算符¶
|| 运算符执行拼接。NULL 操作数会按空字符串处理。
字符串函数¶
备注
这些函数假定输入字符串包含有效的 UTF-8 编码 Unicode 码点。函数不会显式检查 UTF-8 是否有效;遇到无效 UTF-8 时,可能返回不正确的结果。
此外,这些函数按 Unicode 码点操作,而不是按用户可见的“字符”或“字素簇”操作。有些语言会将多个码点组合成用户感知的单个“字符”,即该语言书写系统的基本单位;但这些函数会把每个码点视为独立单位。
lower() 和 upper() 函数不会执行某些语言所需的区域敏感、上下文敏感或一对多映射。具体来说,对于立陶宛语、土耳其语和阿塞拜疆语,这会返回不正确的结果。
- concat(string1, ..., stringN) -> varchar()¶
返回
string1、string2、...、stringN的拼接结果。该函数提供与 SQL 标准拼接运算符(||)相同的功能。NULL参数会按空字符串处理。
- length(string) -> bigint()¶
返回
string的 Unicode 码点长度。
- char_length(string) -> bigint()¶
length()的别名。
- character_length(string) -> bigint()¶
length()的别名。
- lower(string) -> varchar()¶
将
string转换为小写。
- ltrim(string) -> varchar()¶
移除
string开头的 SQL 空白字符。
- replace(string, search, replace) -> varchar()¶
将
string中所有search替换为replace。如果
search为空字符串,则在每个字符前以及string末尾插入replace。
- rtrim(string) -> varchar()¶
移除
string末尾的 SQL 空白字符。
- substr(string, start) -> varchar()¶
返回
string中从起始位置start开始的剩余部分。位置从1开始。当前支持范围为正数位置。
- substr(string, start, length) -> varchar()¶
从
string的起始位置start开始返回长度为length的子串。位置从1开始。当前支持范围为正数位置。
- mid(string, start, length) -> varchar()¶
substr()的别名。
- substring(string, start) -> varchar()¶
substr()的别名。
- substring(string, start, length) -> varchar()¶
substr()的别名。
- char(codepoint) -> varchar()¶
为有效的 Unicode 码点返回一个单字符字符串。
- beginwith(string, prefix) -> boolean()¶
返回
string是否以prefix开头。
- startwith(string, prefix) -> boolean()¶
beginwith()的别名。
- endwith(string, suffix) -> boolean()¶
返回
string是否以suffix结尾。
- find(substring, string) -> bigint()¶
返回
substring在string中从 1 开始计数的位置;如果未找到该子串,则返回0。
- find(substring, string, start) -> bigint()
从 1 开始计数的位置
start起,返回substring在string中从 1 开始计数的位置;如果未找到该子串,则返回0。
- trim(string) -> varchar()¶
移除
string开头和末尾的 SQL 空白字符。可识别的空白字符:
编码
说明
编码
说明
9
TAB(水平制表符)
U+1680
欧甘空格标记
10
LF(NL 换行,新行)
U+2000
En Quad 空格
11
VT(垂直制表符)
U+2001
Em Quad 空格
12
FF(NP 换页,新页)
U+2002
En 空格
13
CR(回车)
U+2003
Em 空格
28
FS(文件分隔符)
U+2004
三分之一 Em 空格
29
GS(组分隔符)
U+2005
四分之一 Em 空格
30
RS(记录分隔符)
U+2006
四分之一 Em 空格
31
US(单元分隔符)
U+2008
标点空格
32
空格
U+2009
细空格
_
_
U+200a
发丝空格
_
_
U+200a
发丝空格
_
_
U+2028
行分隔符
_
_
U+2029
段落分隔符
_
_
U+205f
中等数学空格
_
_
U+3000
表意文字空格
- upper(string) -> varchar()¶
将
string转换为大写。