應用場景:將數據表TB_USER中字段NNDP的內容中為[sannanyinv]轉換為[3男1女]
主要腳本:一個游標腳本+分割字符串函數+拼音轉數字腳本
操作步驟如下:
1、創建類型
2、創建函數fn_splitString(功能是將字符串分割成多條記錄)
--fn_splitString函數腳本代碼
return splitTable is
var_out splitTable;
begin
--var_out.extend(1);
return var_out;
3、創建函數fn_getNumber(功能是將數字拼音字符串轉為數字)
--fn_getNumber函數腳本代碼
create or replace function fn_getNumber(p_str in varchar2)
4、運行轉換腳本(功能是將數據表中指定字段內容轉換為所需要的格式)
--Oracle中使用游標轉換數據表中指定字段內容格式由拼音到數字
femalestring VARCHAR2(20):='er';--定義男性拼音分割符
columnstring NVARCHAR2(40):=''; --定義數據表字段取出的字符串內容
cursor mycursor is select * from TB_USER where NNDP<>' '; --從數據表查詢對應要更新的記錄:
if mycursor%found then --游標的found屬性判斷是否有記錄
--獲取到字段內容並進行處理
if mycursor1%found then --判斷是否有記錄
else
dbms_output.put_line(resultstring); --顯示結果
end;
else
附:運行截圖