PQL 快速入门
PQL基础
数据流转
输出文件
PQL 中的语句
分支和循环
更优雅的数据操作
PQL 高级特性
系统函数
自定义函数
扩展操作
其他语言相关
附录
PQL 全局函数提供了与数据库 SQL 中相应的字符串操作功能。当前版本支持的字符串函数按名称排序如下:
@CHARINDEX(strToFind, strToSearch)
在字符串strToSearch
中查找字符串strToFind
的位置,索引从1
开始,找不到返回0
。@CHARINDEX('o', 'hello')的结果是
5``。@CONCAT(str1, str2, ...)
连接两个或多个字符串,@CONCAT('hel', 'lo', ' ', 'world')
返回'hello world'
。@INSTR(strToSearch, strToFind)
在字符串strToSearch
中查找字符串strToFind
的位置,索引从1
开始,找不到返回0
。@INSTR('world', 'r')
的结果是3
。@LEFT(str, n)
从左向右截取str
的n
个字符串。@LEN(str)
或 @LENGTH(str)
返回字符串的字符长度。@LOWER(str)
将字母串所有英文字母转变成小写。@LPAD(str, length, padstr)
如果字符串str
的长度不到length
,则用重复的padstr
在左面补全。如@LPAD('5', 4, '0')
结果是0005
。@LTRIM(str)
去掉字符串左面的空白字符。@POSITION(strToFind, strToSearch)
在字符串strToSearch
中查找字符串strToFind
的位置,索引从1
开始,找不到返回0
。@POSITION('o', 'world')
的结果是2
,效果同@CHARINDEX
。@REPEAT(str, n)
将字符串str
重复n
次,生成新的字符串。如@REPEAC('ok', 3)
得到okokok
。@REPLACE(str, old, replacement)
将字符串中的指定字符串old
换成新字符串replacement
,REPLACE('hello-world', '-w', 'W')
结果是helloWorld
。@REVERSE(str)
将字符串str
进行反转,如@REVERSE('ok')
得到ko
。@RIGHT(str, n)
从右向左截取str
的n
个字符串。@RPAD(str, length, padstr)
如果字符串str
的长度不到length
,则用重复的padstr
在右面补全。如@RPAD('5', 4, '0')
结果是5000
。@RTRIM(str)
去掉字符串右面的空白字符。@TRIM(str)
去掉字符串两面的空白字符。@UCASE(str)
将字母串所有英文字母转变成大写。@UPPER(str)
是@UCASE
函数的同义词。与正则表达式相关的函数有:
@REGEXP_INSTR(str, regexp)
查找指定正则表达式regexp
在字符串str
中的匹配位置,位置索引从1
开始,如果不匹配则返回0
。@REGEXP_LIKE(str, regexp)
判断字符串str
是否与指定正则表达式regexp
匹配,如果匹配返回1
,否则返回0
。@REGEXP_REPLACE(str, regexp, replacement)
替换字符串str
中与与正则表达式regexp
匹配的内容为replacement
。@REGEXP_SUBSTR(str, regexp)
返回字符串str
中与正则表达式regexp
匹配的子字符串,如果不匹配则返回null
。区分大小写等匹配规则均写在正则表达式中,如(?i)[a-z]+
中的(?i)
表示忽略大小写,更多规则请参照正则表达式语法。
编码解码相关函数:
@BASE64_ENCODE(str, salt)
使用 BASE 64 编码。参数salt
是盐值,可以不设置。@BASE64_DECODE(str, salt)
解码 BASE 64。参数salt
是盐值,可以不设置。参考链接