oracle的DATE类型是对时间类参数的统一描述。日期(年月日)和时间(时分秒毫秒)对ORACLE系统而言,只是时间的精确程度的要求不同而已。我们是通过设置不同的格式参数来实现对此的需求。

解决方案 »

  1.   

    同意楼上
    另:
    select sysdate into :qq from dual;
    取当前时间
      

  2.   

    如何格式化data,我要2000-1-1这种类型?
      

  3.   

    在delphi中若用存储过程控件,则可将参数设为TDataTime型,存储过程控件的输入参数类型中也有DATETIME型,这样就由BDE帮你屏蔽datetime在不同系统的差异了。
      

  4.   

    回复ppzhao,使用select to_char(sysdate,'yyyy-mm-dd')可得到2000-1-1
    to_char()是ORACLE中的格式函数,可用于把时间值按需要的格式表述。ORACLE的时间格式参数很多,我在这里没法尽述。你可以找本ORACLE的资料查查就可以了。
    简单列几个;
    yyyy (四位记年)
    mm   (月)
    dd   (日期)
    day  (星期几)
    表达时,用空格或/或-隔开都可以。
      

  5.   

    To tiredout:Thank you!
    中文版oracle的日期格式是:2000年1月1日 00:00:00
    to_char()只可改变输出格式,我要改变存储格式,可不可以。
    因为我在做应用程序移植,应用程序不可改。
      

  6.   

    更改存储格式好象是不行的,除非你不用日期格式,用字符格式。其实也没有必要更改存储格式的,完全可以如tiredout(钻石胳膊)所说的,在读取数据时做格式转换就是了。
      

  7.   

    存储时要改变时间格式也可以啊!使用to_date()函数就可以了。格式与to_char()的用法类似。
    你可以这样to_date(to_char('你需要的时间',‘需要的格式’),'你要的格式'),这样就得到你所需要的日期类型的字段值了.