【问题标题】:Remove additional zeroes from varchar从 varchar 中删除额外的零
【发布时间】:2016-09-30 14:10:53
【问题描述】:

我想从字符串的开头删除所有零 0

SQL:

SELECT SUBSTR('00008800000006',0,7)  AS serno ,
       SUBSTR('00008800000006',8,14) AS lot
FROM dual ;

预期结果:

  • SUBSTR('00008800000006',0,7) = '0000880' => 塞尔诺 = '880'
  • SUBSTR('00008800000006',8,14) = '0000006' => 批次 = '6'

【问题讨论】:

    标签: sql oracle substring


    【解决方案1】:

    如果你使用的是 Oracle,你可以试试这个:

    select
     REGEXP_REPLACE(SUBSTR('00008800000006',0,7), '^0+(.*$)', '\1') as Serno,
     REGEXP_REPLACE(SUBSTR('00008800000006',8,14), '^0+(.*$)', '\1') as lot
     from dual;
    

    输出

    SERNO    LOT
    
    880      6   
    

    您也可以使用 LTRIM

    select
     ltrim(SUBSTR('00008800000006',0,7), '0') as Serno,
     ltrim(SUBSTR('00008800000006',8,14), '0') as lot
      from dual
    

    输出

    SERNO    LOT
    
    880      6   
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-10
      • 2016-06-30
      相关资源
      最近更新 更多