在sql server中这样的cast(v_level as char(2)) 的函数,在oracle中用to_char()函数,但在oracle中to_char(),我只知道日期转换成字符,象to_char(sysdate,'yyyy-mm-dd'),但是怎样把 v_level( 是number型的)转换为char型?

解决方案 »

  1.   

    直接
    select to_char(v_level) from tab
      

  2.   

    那cast(v_level as char(2)) 用to_char(v_level)不限制位数了
      

  3.   

    需要怎么限制呢?只取前面或后面的两位吗?可以用substr 函数
      

  4.   

    用格式符'9999'或'000',0为空位补0,9为不补
    SQL> select to_char(999.12345,'00000.9999') from dual;TO_CHAR(999.12345,'00000.9999'
    ------------------------------
     00999.1235SQL> select to_char(999.12345,'99999.9999') from dual;TO_CHAR(999.12345,'99999.9999'
    ------------------------------
       999.1235SQL> select to_char(999.12345,'99999.999') from dual;TO_CHAR(999.12345,'99999.999')
    ------------------------------
       999.123