我做的这个项目是将日期型比如:2010/06/28这个日期存到数据库中是20100628。
现在问题是:
在查询的时候怎么将这个Number型的直接转换成日期型呈现出来呢?
(比如数据库中是20100628,查询后呈现出来是2010/06/28)我试过这种方法select to_char(I_Appr_Date,'YYYY/MM/DD') from 表名但是会报错,根本不行,请高人指点,谢谢了!
(我用的是Oracle的数据库)

解决方案 »

  1.   

    先to_date(),在to_char()select to_char(to_date((I_Appr_Date,'YYYY/MM/DD'),'yyyy/mm/dd') from 表名
      

  2.   

    number类型的to_char 是这么用的select  to_char( 2010052 ,'9,999,999') from dual
    要实现你要的结果,必须这么写
    select  to_char(to_date( '2010052' ,'yyyymmdd'),'yyyy/mm/dd') from dual
    把'2010052' 换成你的字段I_Appr_Date就可以了
      

  3.   

    date -> char
    to_char(sysdate,'yyyymmdd')
    char -> date
    to_date('20100630', 'yyyymmdd')
      

  4.   

    首先to_date,然后to_char,4楼正解
      

  5.   

    select to_char(to_date(col,'yyyy/mm/dd'),'yyyy/mm/dd')  from tb
    --下面是例子SQL> select to_date(20100628,'yyyy/mm/dd') from dual
      2  /TO_DATE(201006
    --------------
    28-6月 -10SQL> select to_char(to_date(20100628,'yyyy/mm/dd'),'yyyy/mm/dd') from dual;TO_CHAR(TO
    ----------
    2010/06/28
      

  6.   

    select to_char(to_date( '2010052' ,'yyyymmdd'),'yyyy/mm/dd') from dual ;
      

  7.   

    alter session set nls_date_format='yyyy/mm/dd';
    select to_date(20051023,'yyyy/mm/dd') from dual;