在表中插入当前日期时间

时间:2013-04-15 08:06:36

标签: sql oracle oracle10g

此查询可以正常工作:

INSERT
INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason,
    Date_
  )
  VALUES
  (
    'CHECK_TRX',
    '1047',
    '123123123',
    'NEW',
    '',
    To_Date('10-04-2013 14:35:07', 'dd-mm-yyyy hh24:mi:ss')
  );

但我想自动插入当前日期而不是To_Date('10-04-2013 14:35:07', 'dd-mm-yyyy hh24:mi:ss')

所以我尝试了Now()

INSERT
INTO I#journal
  (
    Type_,
    Mndnr,
    Obj,
    Status,
    Reason,
    Date_
  )
  VALUES
  (
    'CHECK_TRX',
    '1047',
    'werwerwer',
    'NEW',
    '',
    Now()
  );

但是我收到了一个错误:

Error at Command Line:18 Column:5
Error report:
SQL Error: ORA-00904: "NOW": недопустимый идентификатор
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:

2 个答案:

答案 0 :(得分:3)

文档列出了functions available in Oracle;那些来自其他数据库的数据可能不起作用,特别是非标准(ANSI)数据库。

阅读SYSDATECURRENT_DATE;如果需要更高的精确度,SYSTIMESTAMPCURRENT_TIMESTAMP

SYSCURRENT_版本之间的区别在于您是使用服务器时间还是会话(客户端)时间,这可能是也可能不是您的重要区别。

答案 1 :(得分:1)

尝试使用current_date或current_timestamp