我的一张表test 里面有一个日期字段 date 类型.该字段默认日期为 sysdate. 现在表里面存放了一些日期数据如下:
2008-8-11 17:11:23
2008-8-12 10:32:48
2008-8-12 10:33:00
2008-8-12 10:33:11
2008-8-12 10:33:27
2008-8-12 10:33:41
2008-8-12 10:33:52
2008-8-12 10:34:08
2008-8-12 10:34:20
2008-8-12 10:34:31
2008-8-12 10:34:42
2008-7-30
2008-7-31
2008-8-28
2008-7-11
2008-7-14
2008-7-23
2008-7-23
2008-7-23现在我要对test 这边张建立一个view .  view 的创建如下:create or replace view test_view
(id, name,create_time)
as
select
 t.id,
 t.userno,
 t.datime,
 from test t;
创建好后,我用select * from test_view.后,结果集中的create_time 字段的数据为这样的格式:CREATE_TIME
-----------
2008-8-11 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-8-12 1
2008-7-30
2008-7-31
2008-8-28
2008-7-11
2008-7-14
2008-7-23
2008-7-23
2008-7-23
2008-7-23 1就是无缘无故的 有些日期后面多了一个 数字 1 .我不知道是什么原因. 是oracle 的bug,还是怎么回事啊,请高手帮忙.
2008-8-12 1 这种 情况应该和 原始数据 2008-8-12 10:34:42 类型数据有关

解决方案 »

  1.   

    不知道你是用什么工具显示的,建议用TOAD
      

  2.   

    TRY IT ..SQL> SELECT SYSDATE FROM DUAL;SYSDATE
    -----------
    2008-9-8 0:SQL> COL SYSDATE FORMAT A20
    SQL> SELECT SYSDATE FROM DUAL;SYSDATE
    --------------------
    2008-9-8 0:24:55SQL> 
      

  3.   


    用下面的sql执行看看:
    select id, name,to_char(create_time,'yyyy-mm-dd hh24:mi:ss') from test_view;估计跟你的环境变量设置有关。退出重新登路看看是否解决了。
      

  4.   

    试一下:
    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
      

  5.   

    如果是sqlplus环境,有可能被截断了。