STRING_TO_ARRAY
📄字数 606
👁️阅读量 加载中...
功能描述
使用参数 expr2 作为分隔符将参数 expr1 的字符串拆分并转化成数组,若存在参数 expr3,当拆分出的数组成员与 expr3 相同时,将该数组成员替换为 NULL。
语法格式
sql
STRING_TO_ARRAY(expr1,expr2[,expr3])输入参数
expr1:VARCHAR类型或者能隐式转换为VARCHAR类型的其他类型的值,源字符串。expr2:VARCHAR类型或者能隐式转换为VARCHAR类型的其他类型的值,分隔符。expr3:VARCHAR类型或者能隐式转换为VARCHAR类型的其他类型的值,要替换的字符串。
输出结果
返回 ARRAY 类型,拆分后的字符串数组。
输入参数 expr1 为 NULL,输出结果为 NULL,输入参数 expr2 为 NULL,输出结果为将 expr1 以字符为单位拆分后的数组。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
sql
-- 将字符串 'a,b,c' 转化为按 ',' 拆分后的数组
SQL> SELECT STRING_TO_ARRAY('a,b,c', ',') FROM dual;
+---------+
| EXPR1 |
+---------+
| {a,b,c} |
+---------+
-- 将字符串 'a,b,c' 转化为按 ',' 拆分后的数组,将数组成员 'b' 替换为 NULL
SQL> SELECT STRING_TO_ARRAY('a,b,c', ',', 'b') FROM dual;
+------------+
| EXPR1 |
+------------+
| {a,NULL,c} |
+------------+