就是这么在数字前补0
不要是char类型是数值的
比如 


22
补完是
001
022
001
就是不足用0
我这样写不行
to_number(barcode,'000')
不知道为什么

解决方案 »

  1.   

    barcode是number型?要这么写
    select to_char(barcode, '099') from 表名;
      

  2.   

    VARCHAR2(50) barcode是这个型的
    前面我说错了 本来就是 VARCHAR2(50)型的
    只是要在前面加0
      

  3.   

    --那么,这么写
    scott@ORA11GR2> select lpad('1', 3, '0') from dual;LPA
    ---
    001
      

  4.   

    select lpad(barcode, 3, '0') from 表名;
      

  5.   

    WITH TEST AS (
    SELECT '2' AS ID,'AA' AS NAME FROM DUAL
    UNION
    SELECT '1' AS ID,'BB' AS NAME FROM DUAL
    UNION
    SELECT '22' AS ID,'CC' AS NAME FROM DUAL
    )SELECT LPAD(ID,3,0) FROM TEST