oracle按指定字符拆分字符串sql
时间: 2023-09-03 16:16:41 浏览: 106
可以使用Oracle的SUBSTR函数和INSTR函数来实现按指定字符拆分字符串,具体实现如下:
假设要按照逗号分割字符串,可以使用以下SQL语句:
```
SELECT
SUBSTR('A,B,C,D', 1, INSTR('A,B,C,D', ',', 1, 1) - 1) AS first_part,
SUBSTR('A,B,C,D', INSTR('A,B,C,D', ',', 1, 1) + 1, INSTR('A,B,C,D', ',', 1, 2) - INSTR('A,B,C,D', ',', 1, 1) - 1) AS second_part,
SUBSTR('A,B,C,D', INSTR('A,B,C,D', ',', 1, 2) + 1, INSTR('A,B,C,D', ',', 1, 3) - INSTR('A,B,C,D', ',', 1, 2) - 1) AS third_part,
SUBSTR('A,B,C,D', INSTR('A,B,C,D', ',', 1, 3) + 1) AS fourth_part
FROM DUAL;
```
输出结果为:
```
first_part | second_part | third_part | fourth_part
-----------|-------------|------------|------------
A | B | C | D
```
可以看到,通过使用SUBSTR函数和INSTR函数,可以将字符串按指定字符拆分成多个部分。需要注意的是,如果字符串中没有指定字符,INSTR函数会返回0,因此需要做一些特殊处理。
阅读全文