问题:
SELECT ACTION_DIV, to_char(ACTION_CODE) ACTION_CODE, ACTION_NAME FROM M_EXERCISE_ACTION ACTION_CODE是NUMBER(6)型
例:数据行:1,1,NAME1 --->得到:1,000001,NAME1 
前提:只能在数据库中实现,不能在外面写代码。

解决方案 »

  1.   

    SQL>  select ACTION_DIV,
      2          lpad(ACTION_CODE,6,0) as NEW_ACTION_CODE,
      3          ACTION_NAME
      4     from (
      5           select 1 as ACTION_DIV, 1 as ACTION_CODE,'NAME1' as ACTION_NAME from dual
      6          )tt;ACTION_DIV NEW_ACTION_CODE ACTION_NAME
    ---------- --------------- -----------
             1 000001          NAME1
      

  2.   

     成功解决,谢谢你:mantisXF ,但可否解译一下lpad()这个函数的用法,里面的第一个参数可以是任意类型吗,谢谢。
      

  3.   

    Google 一下 ..
    LPAD( RPAD)Select LPAD(a.column1,5,0)  from o_test a在字段column1的左端补0,使整个字段的长度为5位.
      

  4.   

    复杂化了。to_char()就能对输出进行格式化的。to_char的标准用法:
    TO_CHAR(<x> [,<fmt >[,<nlsparm>] ])
    其中参数fmt指定输出格式。to_char(ACTION_CODE, '000009')
      

  5.   

    to_char(ACTION_CODE, '000009') right