`
zhuhuide2004
  • 浏览: 142920 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ORACLE 字符串补零

阅读更多

标准函数Lpad 可以实现左补零,但是如果多于需要长度,则会截断字符串。
如下:
-----------------------
情况一:需要补零。  
    SELECT LPAD ('1234' , 5 , '0') FROM DUAL
    结果:01234        正确
情况二:不需要补零。
    SELECT LPAD ('123456' , 5 , '0') FROM DUAL
    结果:12345        错误
-----------------------

有如下方式实现:
1 使用条件判断语句:CASE WHEN
   SELECT
   CASE
     WHEN LENGTH(str) < 5 THEN TO_CHAR(str ,'00000')
     ELSE str
     END
    FROM DUAL
  情况一:
    str:='123456'
    结果:123456
  情况二:结果:01234
    str:='1234'
    结果:01234
2 巧妙使用CONCAT SUBSTR
   因为SUBSTR的开始Index超过字符串长度是,返回空字符串。  如 SUBSTR('0000' , 5),结果为:空字符串。
SELECT CONCAT(
    SUBSTR('0000' , LENGTH(str)) ,
    str) FROM DUAL
  情况一:
    str:='123456'
    结果:123456
  情况二:结果:01234
    str:='1234'
    结果:01234

 

分享到:
评论

相关推荐

    oracle 如何判断一个字符串能否转换为数字?

    oracle里面没有sql server里面的类似函数is_number来判断能否转换为数字,怎么办?本文给出答案。

    Oracle 基础语句 函数大全(字符串函数

    ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...

    oracle登陆字符串格式校验 (user/pwd@dbservname)

    *输入: vi_sConStr:配置格式字符串 (user/pwd@dbservname) *输出: 无 *返回: 成功解析则大于0,解析失败则小于0 *调用: 使用该函数的程序 *描述: 字符串解析 *******************************************...

    Oracle截取字符串去掉字段末尾指定长度的字符

    lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 ...PS:oracle去掉字符串中所有指定字符 Selec

    oracle连接字符串.md

    oracle连接字符串.md

    用SQL语句截取字符串

    用SQL语句截取字符串, string substr ( string string, int start [, int length]) 参数1:处理字符串 参数2:截取的起始位置(第一个字符是从0开始) 参数3:截取的字符数量

    oracle非数字合计,将字段中含有汉子的数据自动转换为 数字0

    oracle非数字合计,将字段中含有汉子的数据自动转换为 数字0

    oracle截取字符(substr)检索字符位置(instr)示例介绍

    1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串 解释:string 元字符串 start_position 开始位置(从0开始) length 可选项,子字符串的个数 For example: substr("ABCDEFG", 0); //返回:...

    Oracle和.Net 连接字符串代码

    Oracle与.Net连接的常用字符串,很全,适于初学者学习,高手做技术参考资料。 有兴趣的请下载,本想0分,可是自己也快没分了,就1分,不过大家评论下,就是1-1=0了。:-)

    字符串(汉字)长度判断

    针对Oracle数据库中汉字在不通的字符集下所占字符长度不通,在保存时可能需要对源字符串的长度进行判断。 实现过程如下 /** * 针对汉字 进行计算长度 * @param string 计算的字符串 * @param ...

    oracle使用instr或like方法判断是否包含字符串

    首先想到的就是contains,contains用法如下: select * from students ...select * from students where instr(address, 'beijing') &gt; 0 另外,还有个笨办法,那就是使用like,说到这里大家应该知道怎么做了吧: sel

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    ORACLE 九阴真经.chm

    CONCAT(字符串1,字符串2) 将字符串1和字符串2连接成一个新的字符串 示例: select CONCAT(job,ename) from emp LPAD(字段,总的大小,添充字符) 左填充即向右对齐 示例: select empno,lpad(sal,10,'*') from emp RPAD...

    向Oracle数据库的CLOB属性插入数据报字符串过长错误

    今天在项目中向数据库的CLOB属性插入一段篇文章(1000~2000)字就会报一个字符串过长的错误。 网上说用流来处理,没有这么做。这像是一个Bug,只要把插入的数据,默认扩充到2000以上就ok了。 下面是这段代码: if(...

    oracle面试题

    对字符串操作的函数 答:ASCII 函数返回字符表达式最左端字符的ASCII 码值 CHR 函数用于将ASCII 码转换为字符 如果没有输入0 255 之间的ASCII 码值CHR 函数会返回一个 NULL 值 应该是必须给chr 赋数字值 concat ...

    MYSQL,SQLSERVER,ORACLE常用的函数

    返回字符串并将字符串的第一个字母变为大写; SQL&gt; select initcap('smith') upp from dual; UPP ----- Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符...

    oracle迁移达梦常见问题汇总

    0、说明 本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务...

    Oracle视频.zip

    9.单行函数之字符串函数.rar 10.单行函数之日期函数.rar 11转换函数,rar 12多表查询数据rar 13.PLSQL基础-变星与作用域rar 14.Oracle体结构.ram 15.Oracle体系结构实例管理-内存管理rar 16.0raCle体系结构实例管理...

    Oracle最实用函数大全

    返回字符串并将字符串的第一个字母变为大写; SQL&gt; select initcap(’smith’) upp from dual; UPP ----- Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符...

    Oracle经典SQL语句

    -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子节点 复制一张表的...

Global site tag (gtag.js) - Google Analytics