oracle 按 | 符号分割 |2hdqrq=41726|bybz=000221| 并取出 包含 bybz的值
时间: 2023-07-19 16:39:07 浏览: 50
可以使用 `REGEXP_SUBSTR` 函数和正则表达式来按 `|` 分割字符串并获取包含 `bybz` 的值。以下是一个示例:
```sql
SELECT
REGEXP_SUBSTR('2hdqrq=41726|bybz=000221|', 'bybz=[^|]+') AS bybz_value
FROM dual;
```
在上面的查询语句中,`REGEXP_SUBSTR` 函数的第一个参数是要分割的字符串,第二个参数是用于匹配的正则表达式模式。正则表达式模式 `bybz=[^|]+` 匹配以 `bybz=` 开头,后面跟着任意数量的非 `|` 字符的子字符串。因此,可以获取包含 `bybz` 的值。
如果要获取多个包含 `bybz` 的值,可以使用 `REGEXP_SUBSTR` 函数的第三个和第四个参数来指定从哪个位置开始搜索和要获取的匹配项的出现次数。例如,以下查询语句可以获取所有包含 `bybz` 的值:
```sql
SELECT
REGEXP_SUBSTR('2hdqrq=41726|bybz=000221|bybz=000222|', 'bybz=[^|]+', 1, LEVEL) AS bybz_value
FROM dual
CONNECT BY REGEXP_SUBSTR('2hdqrq=41726|bybz=000221|bybz=000222|', 'bybz=[^|]+', 1, LEVEL) IS NOT NULL;
```
在上面的查询语句中,使用 `CONNECT BY` 和 `LEVEL` 来循环获取所有匹配项。`REGEXP_SUBSTR` 函数的第三个参数设置为 `LEVEL`,表示从第几个匹配项开始获取。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)