加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Oracle中字符串倒序输出处理

(2015-11-30 21:00:33)
标签:

oracle字符串倒序

字符串倒序输出处理

字符串倒序输出

oracle字符串输出

分类: Oracle数据库
       在Oracle常用的数据处理中,会遇到将某个字符串倒序输出的需求,查询了下,Oracle中没有特别的函数来实现该功能,下面将利用其自带Substr函数的截取字符功能,通过自定义函数来实现字符串倒序输出的处理。

一、创建自定义函数
1、方法1
create or replace function fun_str_dx_test1(str in varchar2)
return varchar2
is
result_str varchar2(3000);
str_len int;
i int;
str_tmp varchar2(3000);
begin
  select length(str) into str_len from dual;
  for i in 0..str_len-1 loop
    select substr(str,str_len-i,1) into str_tmp from dual;
    result_str:=result_str||str_tmp;
end loop;
return(result_str);
end fun_str_dx_test1;


2、方法2
create or replace function fun_str_dx_test2(str in varchar2) 
return varchar2 
is
Result varchar2(5000);
str_len int;
i int;
str1 varchar2(5000);
str2 varchar2(5000);
begin
select length(str) into str_len from dual;
str1 := str;
for i in 1 .. str_len loop
select substr(str1, -1) into str2 from dual;
result := result || str2;
select substr(str1, 1, str_len - i) into str1 from dual;
end loop;
return(result);
end fun_str_dx_test2;


二、测试结果
SQL> select mkt.fun_str_dx_test1('1234567890ty') as str_dx from dual;
STR_DX
--------------------------------------------------------------------------------
yt0987654321


SQL> select mkt.fun_str_dx_test2('1234567890') as str_dx from dual;
STR_DX
--------------------------------------------------------------------------------
0987654321





本文主要参考网上的各种写法,后经总结,通过实例测试而来。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有