我有一个名为TP_GEO_ASSN的表,字段是ID,GEO_DETAILS。字段的值在下面给出
ID GEO_DETAILS
1印度| KARNATAKA |班加罗尔| RELIANCE SUPER MARKET
2印度| KERALA | CALICUT |表达超级市场
3印度| WEST BENGAL |加尔各答|更超市场
。
。
。
我的问题是我需要编写一个过程并将GEO_DETAILS值提取到字符串变量中 我需要在管道符号(|)之间提取值,例如
印度| KARNATAKA |班加罗尔| RELIANCE SUPER MARKET
我需要提取INDIA,KARNATAKA,BANGALORE,RELIANCE SUPER MARKET和
我需要将这些值与存储过程示例INDIA分开传递给一个变量,将KARNATAKA传递给另一个变量等等。
我怎么能这样做?
提前谢谢。
答案 0 :(得分:0)
声明4个变量并使用以下查询存储这些变量
select trim(REGEXP_SUBSTR(YOUR_COL_NAME, '[^|]+', 1, 1)),
trim(REGEXP_SUBSTR(YOUR_COL_NAME, '[^|]+', 1, 2)),
trim(REGEXP_SUBSTR(YOUR_COL_NAME, '[^|]+', 1, 3)),
trim(REGEXP_SUBSTR(YOUR_COL_NAME, '[^|]+', 1, 4)) into var1, var2, var3, var4 from <YOUR_TABLE_NAME>;
Var1将包含INDIA,var2将包含KARNATAKA等等。然后根据需要将变量传递到您的过程中。