字符串函数
更新时间: 2023-04-23 16:33:02
1. 概述
通过字符串函数您可以操作字符串数据(即由文本组成的数据)。本文介绍本产品中的字符串函数及其用途。
2. 示例
例如,可能有一个名字字段。一个成员可能为:Jane Johnson。您可以使用字符串函数将所有字母转成大写。语法及结果:
UPPER([客户名称]) = JANE JOHNSON
3. 可用字符串函数列表
函数 | 说明 | 语法 | 示例 |
---|---|---|---|
CONTAINS | 包含,如果给定字符串包含指定子字符串,则返回 true,否则返回 false。 | CONTAINS(字符串, 子串) | CONTAINS("Calculation", "alcu") = true CONTAINS("Calculation", "beu") = false |
DURATION_PARSE | 时长格式的字符串转整数,将字符串按指定的时长格式转换为数值(需指定结果单位),格式串中支持的时间单位:dd(天) 、hh(小时)、mi(分钟) 、ss(秒) | DURATION_PARSE(时间单位, 格式串, 字符串) | DURATION_PARSE("minute", "dd天hh小时", "10天10小时") = 102460+1060 = 15000(分钟) DURATION_PARSE("hour", "dd天hh小时"," 10天10小时") = 1024+10 = 250(小时) |
ENDSWITH | 结尾包含,如果给定字符串以指定子字符串结尾,则返回 true。会忽略尾随空格。 | ENDWITH(字符串, 子串) | ENDSWITH("Calculation", "tion") = true |
FIND | 查找字符串位置,返回字符串中子字符串的索引位置,如果未找到子字符串,则返回 0。起始位置为可选参数,如果给定此参数则从此位置开始查找,字符串中的第一个字符串为位置1 | FIND(字符串, 子串, [起始位置]) | FIND("Calculation", "alcu") = 2 |
JSON_EXTRACT | 在JSON字符串中提取指定成分,只能用已聚合的字段上。(字段访问器由两种部分组成,一种是".xxx"的形式,另一种是"[xxx]"的形式,分别用来访问对象和数组,用户提供的访问器必须是一个常量字符串,访问器的首个"."可以省略)。 | JSON_EXTRACT(字段访问器, JSON字符串) | JSON_EXTRACT("[2][1]", "[1,2,[3,4]]") = "4" JSON_EXTRACT("[1]", "["a","b"]") = "b" JSON_EXTRACT("xy", "{"xy":1, "y":2}") = "1" JSON_EXTRACT(".x.z", "{"x":{"z":1}, "y":2}") = "1" JSON_EXTRACT("x", "{"x":{"z":1}, "y":2}") = "{ z: 1}" JSON_EXTRACT(".x[1].y", "{"x": [1,{"y":2.0}], "z":3.0}") = "2" JSON_EXTRACT(".x[1].y", "{"x": [1,{"y":2.0}], "z":3.0}") = "2" |
LEFT | 开头截取,返回字符串最左侧一定数量的字符。 | LEFT(字符串, 整数) | LEFT("Calculation", 4) = "Calc" |
LENGTH | 返回给定字符串中的字符数。 | LENGTH(字符串) | LENGTH("abc123") = 6 |
LOWER | 字符串转小写,将文本字符串转换为全小写字母。 | LOWER(字符串) | LOWER("PRODUCT") = "product" |
LTRIM | 移除前导空格,返回移除了所有前导空格的字符串。 | LTRIM(字符串) | LTRIM(" Sales") = "Sales" |
MAX | 对于字符串,MAX 查找数据库为该列定义的排序序列中的最高值。 | MAX(字符串1, 字符串2) | MAX ("Apple","Banana") = "Banana" |
MIN | 对于字符串,MIN 查找排序序列中的最低值。 | MIN(字符串1, 字符串2) | MIN ("Apple","Banana") = "Apple" |
REGEXP_EXTRACT_NTH | 正则捕获提取,使用正则表达式模式返回给定字符串的子字符串。子字符串与第n个捕获组匹配,其中模式的每一个括号匹配一个捕获组,其中n为给定索引。 | REGEXP_EXTRACT_NTH(表达式, 模式, 索引) | EGEXP_EXTRACT_NTH("abc 123", "([a-z])+\s+(\d+)", 2) = "123" |
REGEXP_REPLACE | 正则替换,返回给定字符串的副本,其中匹配模式替换为替换字符串。 | REGEXP_REPLACE(字符串, 模式, 被替换串) | REGEXP_REPLACE("abc 123", "\s", "-") = "abc--123" |
REPLACE | 替换字符串,在字符串中搜索子字符串,并将其替换为替代子字符串。如果未找到,则字符串保持不变。 | REPLACE(字符串,子串,替换串) | REPLACE("Calculation", "ion", "ed") = "Calculated" |
RIGHT | 结尾截取,返回字符串最右侧一定数量的字符。 | RIGHT(字符串, 整数) | RIGHT("Calculation", 4) = "tion" |
RTRIM | 移除尾随空格,返回移除了所有尾随空格的字符串。 | RTRIM(字符串) | RTRIM("Market ") = "Market" |
SPACE | 返回由指定数量的重复空格组成的字符串。 | SPACE(整数) | SPACE(1) = " " |
STARTSWITH | 开头包含,如果字符串以子字符串开头,则返回 true。会忽略前导空格。 | STARTWITH(字符串, 子串) | STARTSWITH(“Joker”, “Jo”) = true |
STR | 转为字符串,将表达式转化为字符串类型 | STR(表达式) | STR(200) = "200" |
SUBSTR | 截取字符串,从开始位置(字符串从1开始计数)截取指定长度的字符串返回,长度为可选参数,不给则默认截取到字符串尾部。 | SUBSTR(字符串,开始位置,[长度]) | SUBSTR("abc123", 1, 3) = "abc" |
UPPER | 字符串转大写,将文本字符串转换为全大写字母。 | UPPER(字符串) | UPPER("product") = "PRODUCT" |