oracle instr 实现拆分,oracle字段根据字符串拆分,用subStr()和inStr()进行拆分
时间: 2024-05-15 18:13:23 浏览: 81
Oracle中可以使用substr()和instr()函数实现字符串拆分。
假设有一个字段名为str,其内容为"abcdefg",我们希望将其拆分成两个字段,一个包含前三个字符,另一个包含后四个字符。
可以使用substr()函数实现:
```
SELECT SUBSTR(str, 1, 3) AS str1, SUBSTR(str, 4) AS str2 FROM table_name;
```
其中第一个参数为字段名,第二个参数为起始位置,第三个参数为要截取的长度。上述语句中,第一个substr()函数表示从str字段的第1个字符开始,截取3个字符作为str1字段;第二个substr()函数表示从str字段的第4个字符开始,截取到字符串结尾作为str2字段。
如果需要根据某个字符进行拆分,则可以使用instr()函数配合substr()函数实现:
```
SELECT SUBSTR(str, 1, INSTR(str, '|') - 1) AS str1, SUBSTR(str, INSTR(str, '|') + 1) AS str2 FROM table_name;
```
假设字段str的内容为"abc|defg",其中"|"为分隔符,上述语句中,第一个substr()函数表示从str字段的第1个字符开始,截取到第一个"|"之前的字符作为str1字段;第二个substr()函数表示从str字段的第一个"|"之后的字符开始,截取到字符串结尾作为str2字段。其中,instr()函数的第一个参数为字段名,第二个参数为要查找的字符或字符串,返回值为该字符或字符串在字段中的位置。
阅读全文