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小时") = 10
24+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"