比如emp表里面的hiredate,它select后的显示格式是“1997-12-3”这种格式然而插入时却不能以“1998-11-11”的格式插入,而要以“11-11月-1998”这种格式才能插入oracle为什么要这样设计?以“所见即所得”的方式不是更好?插入“1988-11-11”就显示“1988-11-11”为什么不行?

解决方案 »

  1.   

    因为oracle是老外设计的,老外们就觉得11-11月-1998这样看的比较爽。
    1. 你可以把oracle的时间格式改了
    2. 也可以用函数解决,一般用这种方式   to_date('1998-12-12','yyyy-mm-dd'))
      

  2.   

    像楼主所说的‘所见即所得’势必会带来许多问题。
    如果数据数据是面向全球范围的,就没有一种统一的机制去操作他们。
    其实存储在数据库中的日期数据都是一样的。
    如果 Alter session set nls_laguage=America;
    又是另外一种呈现格式。
      

  3.   

    LZ在查询的时候有没有对时间进行格式化,或者oracle操作环境不同一般来说应该是“所见即所得”形式,我还没有碰到过LZ所遇到的问题,你可以设置你的系统日期格式,也可以在插入时设置你的日期格式。