plsql根据分号分割字符串
时间: 2023-10-05 20:04:19 浏览: 106
您可以使用PL/SQL内置的SUBSTR和INSTR函数来实现根据分号分割字符串,示例代码如下:
```sql
DECLARE
v_str VARCHAR2(100) := 'hello;world;how;are;you';
v_start_pos NUMBER := 1;
v_end_pos NUMBER;
v_sub_str VARCHAR2(100);
BEGIN
WHILE v_start_pos > 0 LOOP
v_end_pos := INSTR(v_str, ';', v_start_pos);
IF v_end_pos = 0 THEN
v_sub_str := SUBSTR(v_str, v_start_pos);
dbms_output.put_line(v_sub_str);
EXIT;
ELSE
v_sub_str := SUBSTR(v_str, v_start_pos, v_end_pos - v_start_pos);
dbms_output.put_line(v_sub_str);
v_start_pos := v_end_pos + 1;
END IF;
END LOOP;
END;
```
以上代码将会按照分号将字符串分割成若干个子串,并逐个输出。您可以将`v_str`替换为您需要分割的字符串。
相关问题
plsql判断一个数据中是否含有分号
您可以使用INSTR函数来判断一个字符串中是否含有分号,示例代码如下:
```sql
DECLARE
v_str VARCHAR2(100) := 'hello;world';
BEGIN
IF INSTR(v_str, ';') > 0 THEN
dbms_output.put_line('字符串中含有分号');
ELSE
dbms_output.put_line('字符串中不含分号');
END IF;
END;
```
以上代码将会输出:字符串中含有分号。
阅读全文