Oracle 给字符串补空格、补0
2015-08-22 10:03
525 查看
利用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(1000):=''; 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',20) from dual;--返回结果:' asdf中国' select get_FillSpaces('asdf中国','R',20) 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(1000):=''; v_Name varchar2(1000):=''; 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))),' ','0'); else v_Temp:=replace(RPAD(v_Name,P_Length+(lengthb(P_String)-length(P_String))),' ','0'); end if; end if; return(v_Temp); end get_FillZero; --Test select get_FillZero('asdf中国','L',20) from dual;--返回结果:'00000000000000asdf中国' select get_FillZero('asdf中国','R',20) from dual;--返回结果:'asdf中国00000000000000'
相关文章推荐
- oracle安装出错未找到文件 E:\app\xxj\product\11.2.0\dbhome_1\owb\external\oc4j_applications\applications\WFMLR
- 未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。 解决方法
- C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据
- Oracle存储过程
- 以Oracle数据库为目标的数据库进阶(二)
- oracle mysql sqlserver 分页查询
- ORACLE11G 将dataguard的rman备份恢复到测试环境的单机oracle中的详细过程
- ORACLE RMAN下针对带库设备的操作
- Oracle 学习之 SQL(二) Restricting and Sorting Data
- mysql实现ORACLE的connect by prior父子递归查询
- oracle net configuration assistant 相关概念汇总
- oracle表空间相关SQL语句
- Oracle 学习之 11g Clone 安装
- oracle SQL高级编程
- Oracle 学习之卸载Oracle 11g
- VS报错:Oracle.ManagedDataAccess.Client.OracleException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- oracle12创建用户授权和密码报:65096 公用用户名或角色无效
- Centos中将openjdk切换为Oracle Jdk导致Tomcat无法正常启动的问题
- Oracle关于时间/日期的操作
- Oracle11g透明网关搭建