您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

用PLSQL将整数实现逆序

2025/1/16 17:19:39发布16次查看
用plsql将整数实现逆序,比如123转换为321 无 /* formatted on 2015/7/15 14:56:34 (qp5 v5.163.1008.3004) */create or replace function get_reverse_value (id in number) return varchar2is ls_id varchar2 (10); ls_last_item varchar2 (10); ls_curr_it
用plsql将整数实现逆序, 比如 123 转换为 321 /* formatted on 2015/7/15 14:56:34 (qp5 v5.163.1008.3004) */create or replace function get_reverse_value (id in number) return varchar2is ls_id varchar2 (10); ls_last_item varchar2 (10); ls_curr_item varchar2 (10); ls_zero varchar2 (10); li_len integer; lb_stop boolean;begin ls_id := to_char (id); li_len := length (ls_id); ls_last_item := ''; ls_zero := ''; lb_stop := false; while li_len > 0 loop ls_curr_item := substr (ls_id, li_len, 1); if ls_curr_item = '0' and lb_stop = false then ls_zero := ls_zero || ls_curr_item; else lb_stop := true; ls_last_item := ls_last_item || ls_curr_item; end if; ls_id := substr (ls_id, 1, li_len - 1); li_len := length (ls_id); end loop; return (ls_last_item || ls_zero);end get_reverse_value;/*此程序如下:例如 123循环1: ls_curr_item=3, ls_last_item= '||3=3, ls_id=12, li_en=2循环2:ls_curr_item=2, ls_last_item=3||2=32, ls_id=1, li_en=1循环3:ls_curr_item=1, ls_last_item=32||1=321, ls_id='', li_en=0此时 li_en=0 跳出循环,返回 ls_last_item=321例如100循环1: ls_curr_item=0, ls_zero= ''||0=0, ls_id=20, li_en=2循环2:ls_curr_item=0, ls_zero=0||0=00, ls_id=1, li_en=1循环3:ls_curr_item=1, ls_last_item=''||1=1, ls_id='', li_en=0此时 li_en=0 跳出循环,返回 ls_last_item=1,ls_zero=00,ls_last_item || ls_zero=100*///运行结果为sql> select * from rebuild_test_cf where name < 20; id name---------- ---------- 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 id name---------- ---------- 21 12 31 13 41 14 51 15 61 16 71 17 81 18 91 19
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product