使用oracle 实现 将字符串 '福建省-福州市' 通过 '-' 分割成两个字段
时间: 2024-09-29 21:03:36 浏览: 24
在Oracle数据库中,你可以使用 `SUBSTR` 和 `INSTR` 函数结合来实现这个需求。假设你想将字符串 `'福建省-福州市'` 分割成 '省份' 和 '城市' 两个字段,可以按照下面的步骤:
```sql
DECLARE
str VARCHAR2(50) := '福建省-福州市'; -- 输入的字符串
province VARCHAR2(20); -- 存放省份字段
city VARCHAR2(20); -- 存放城市字段
BEGIN
-- 找到省名和城市的分隔位置
INSTR(str, '-') INTO index;
IF index > 0 THEN
-- 从字符串开始截取到分隔符前作为省份
province := SUBSTR(str, 1, index - 1);
-- 从分隔符后的第一个字符开始截取到结束作为城市
city := SUBSTR(str, index + 1);
ELSE
-- 如果没有找到分隔符,则整个字符串作为城市
city := str;
END IF;
DBMS_OUTPUT.PUT_LINE('省份: ' || province);
DBMS_OUTPUT.PUT_LINE('城市: ' || city);
END;
/
```
当你运行这段代码,你会得到结果:
```
省份: 福建省
城市: 福州市
```
阅读全文