
# 字符串函数
安全云脑SecMaster SQL语法支持的字符串函数如下表所示：
表1SecMaster SQL语法支持的字符串函数 
| 函数                                                           | 函数功能说明                                                                                                                                                                                                         |
|:---|:---|
| string1 \|\| string2                                         | 返回 STRING1 和 STRING2 的连接。                                                                                                                                                                                      |
| CHAR_LENGTH(string) CHARACTER_LENGTH(string)                 | 返回字符串中的字符数。                                                                                                                                                                                                    |
| UPPER(string)                                                | 以大写形式返回字符串。                                                                                                                                                                                                    |
| LOWER(string)                                                | 以小写形式返回字符串。                                                                                                                                                                                                    |
| TRIM(\[ BOTH \| LEADING \| TRAILING \] string1 FROM string2) | 返回从 STRING2 中删除以字符串 STRING1 开头且结尾的字符串的结果。默认情况下，两边的空格都会被删除。                                                                                                                                                     |
| SUBSTRING(string FROM integer1 \[ FOR integer2 \])           | 返回 STRING 从位置 INT1 开始，长度为 INT2（默认到结尾）的子字符串。                                                                                                                                                                    |
| REPLACE(string1, string2, string3)                           | 返回一个新字符串，它用 STRING1 中的 STRING3（非重叠）替换所有出现的 STRING2。 例如 'hello world'.replace('world', 'flink') 返回 'hello flink'； 'ababab'.replace('abab', 'z') 返回 'zab'。                                                       |
| CONCAT(string1, string2, ...)                                | 返回连接 string1，string2， ... 的字符串。如果有任一参数为 NULL，则返回 NULL。 例如 CONCAT('AA', 'BB', 'CC') 返回 "AABBCC"。                                                                                                                |
| CONCAT_WS(string1, string2, string3, ...)                    | 返回将 STRING2， STRING3， ... 与分隔符 STRING1 连接起来的字符串。在要连接的字符串之间添加分隔符。 如果 STRING1 为 NULL，则返回 NULL。与 concat() 相比，concat_ws() 会自动跳过 NULL 参数。 例如 concat_ws('\~', 'AA', Null(STRING), 'BB', '', 'CC') 返回 "AA\~BB\~\~CC". |
| REGEXP(string1, string2)                                     | 如果 string1 的任何（可能为空）子字符串与 Java 正则表达式 string2 匹配，则返回 TRUE，否则返回 FALSE。 如果有任一参数为 NULL，则返回 NULL。                                                                                                                   |
| SPLIT_INDEX(string1, string2, integer1)                      | 通过分隔符 string2 拆分 string1，返回分隔后这组字符串的第 integer（从零开始）个字符串。如果整数为负，则返回 NULL。 如果有任一参数为 NULL，则返回 NULL。                                                                                                               |
| SUBSTR(string, integer1\[, integer2\])                       | 返回字符串的子字符串，从位置 integer1 开始，长度为 integer2（默认到末尾）。                                                                                                                                                                |
   
