Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)
应用场景:将数据表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
附:运行截图