利用lpad()、RPAD()函数来实现给字符串补空格或补0的功能:

一、lpad()
lpad函数将左边的字符串填充一些特定的字符其语法格式如下:lpad(string,n,[pad_string])
string:字符或者参数
n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string:可选参数,这个字符串是要粘贴到string的左边,若这个参数未写,lpad函数将会在string的左边粘贴空格。

二、Rpad()
rpad函数将右边的字符串填充一些特定的字符其语法格式如下:rpad(string,n,[pad_string])
string:字符或者参数
n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string:可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。

具体代码示例:

补空格:

 --Function
create or replace function get_FillSpaces
(
P_String IN VARCHAR2,--传入的字串
P_LR IN VARCHAR2,--L为左、R为右
P_Length IN int--总长度
) return varchar2 is
v_Temp varchar2():='';
begin
if lengthb(P_String)>=P_Length then
v_Temp:=P_String;
else
if P_LR='L' then--左补
v_Temp:=lpad(P_String,P_Length+(lengthb(P_String)-length(P_String)));
else
v_Temp:=RPAD(P_String,P_Length+(lengthb(P_String)-length(P_String)));
end if;
end if; return(v_Temp); end get_FillSpaces; --Test
select get_FillSpaces('asdf中国','L',) from dual;--返回结果:' asdf中国'
select get_FillSpaces('asdf中国','R',) from dual;--返回结果:'asdf中国 '

补0:

 --Function
create or replace function get_FillZero
(
P_String IN VARCHAR2,--传入的字串
P_LR IN VARCHAR2,--L为左、R为右
P_Length IN int--总长度
) return varchar2 is
v_Temp varchar2():='';
v_Name varchar2():='';
begin
--去除小数点
if P_String is not null then
v_Name:=replace(P_String,'.','');
end if; if length(v_Name)>=P_Length then
v_Temp:=v_Name;
else
if P_LR='L' then--左补零
v_Temp:=replace(lpad(v_Name,P_Length+(lengthb(P_String)-length(P_String))),' ','');
else
v_Temp:=replace(RPAD(v_Name,P_Length+(lengthb(P_String)-length(P_String))),' ','');
end if;
end if; return(v_Temp); end get_FillZero; --Test
select get_FillZero('asdf中国','L',) from dual;--返回结果:'00000000000000asdf中国'
select get_FillZero('asdf中国','R',) from dual;--返回结果:'asdf中国00000000000000'

最新文章

  1. 敏捷转型历程 - Sprint3 回顾会
  2. CodeForces - 404A(模拟题)
  3. android之打开网页
  4. opencv中的Mat类型
  5. innerHtml写法
  6. [C#] 后端post的请求方法
  7. USB OTG介绍(转载)
  8. Html在线编辑器--基于Jquery的xhEditor轻量级编辑器
  9. 基于Kafka Connect框架DataPipeline可以更好地解决哪些企业数据集成难题?
  10. JAVA中的栈和堆【转】
  11. hdu2132
  12. 从发布订阅模式到redux(一)
  13. flex兼容性之Webpack3+postcss+sass+css
  14. Hadoop HDFS DataNode 目录结构
  15. hashMap put方法 第三行代码
  16. 纲举目张:打通MySQL架构和业务的任督二脉
  17. 下载 github 项目文件到本地方法
  18. django--mysql设置
  19. Sharding-Jdbc实现分表分库
  20. stringToDateUtils 字符串转化日期

热门文章

  1. Codeforces Round #555 (Div. 3) E. Minimum Array 【数据结构 + 贪心】
  2. (二)Audio子系统之new AudioRecord()
  3. vue构造器以及实例属性
  4. C 标准库 - ctype.h之isalnum使用
  5. js中字符串的替换
  6. 腾讯云技术专家卢萌凯手把手教你Demo一个人脸识别程序!
  7. 第十章、vim 程序编辑器
  8. R语言数组array函数
  9. 【转】合理的布局,绚丽的样式,谈谈Winform程序的界面设计
  10. CentOS7下Rsync+sersync实现数据实时同步