小编use*_*821的帖子

用于循环的PL/SQL游标

我相信我需要一个游标for循环来遍历表test_data中的street1列.我有一个程序需要测试表中的每一行.

这是我到目前为止:

cursor c1 is
street1
from test_data

Begin
    If Instr(street1, ‘Cnr’, 1) >= 1;
    Then
        Newstreetname := Substr(street1, Instr(street1, ‘Cnr’, 1)+3);
    Else if
        Instr(street1, ‘PO Box’, 1) >= 1;
    Then
        Newstreetname:= Substr(street1, Instr(street1, ‘PO Box’, 1));
    Else if
        REGEXP_ Instr (street1, [\d], 1) = 0; 
    Then
        Newstreetname:= street1;
    Else if
        REGEXP_ Instr (street1, [\d], 1) >= 1;
    Then
        Newstreetnumber:= regexp_substr(street1, '\d+(\s|\/)(\d+)?-?(\d+)?(\w {1})?'); 
        Newstreetname:= regexp_substr(street1, '(\w+\s\w+)$'); 
End
Run Code Online (Sandbox Code Playgroud)

oracle plsql for-loop cursor

2
推荐指数
1
解决办法
3万
查看次数

PL/SQL Reg Exp在字符串中找到数字

这行应该只检查test_data表中的c1字符串,如果没有数字,那么整个c1字符串将显示在result1列中.我尝试测试这部分是自己的,它似乎不起作用.

有人可以帮忙吗?表和列都是创建的,只是没有提供我需要的结果.结果似乎是随机的:一些带有数字的字符串被插入而一些则没有.

SELECT case WHEN REGEXP_Instr(c1, '[:digit:]')=0 
            THEN c1
      end result1
FROM test_data;
Run Code Online (Sandbox Code Playgroud)

regex oracle

1
推荐指数
1
解决办法
832
查看次数

标签 统计

oracle ×2

cursor ×1

for-loop ×1

plsql ×1

regex ×1