zoukankan      html  css  js  c++  java
  • 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

    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    java-se 选择和冒泡排序
    获得最大数
    打印正反星星 先正后反星星
    Django链接MySQL,数据库迁移
    ORM常用字段及查询
    Django的View(视图)
    Pycharm设置默认HTML模板
    Django简介
    Django
    如何使用Python输出一个[斐波那契数列]
  • 原文地址:https://www.cnblogs.com/jijm123/p/13687256.html
Copyright © 2011-2022 走看看