-1

有人可以找到上述代码的错误吗:

INSERT INTO FMS_LOG (FL_ID,FL_USER_ID, FL_OFFICE_ID, FL_DATETIME,
                     FL_IP,FL_FISCAL_YEAR,FL_USER_NAME,FL_USER_ADDRESS) 
VALUES 
( 105, 18, 18, 
  TO_DATE('03/Jan/2013 15:51:33PM','DD/MON/YY HH:MI:SSAM'), 
 '127.0.0.1',
 '2069/70', 
 'dordhankuta', 
 'balaju' );

FL_DATETIME 具有字段类型DATE

这是抛出错误:

ORA-01861: literal does not match format string

服务器端代码:

    $this->db->query("
    INSERT INTO FMS_LOG (FL_ID,FL_USER_ID, FL_OFFICE_ID, FL_DATETIME, FL_IP,FL_FISCAL_YEAR,FL_USER_NAME,FL_USER_ADDRESS) 
    VALUES 
        (
        $next_id,
        $userinfo[user_id], 
        $userinfo[user_office_id],
        TO_DATE('".date('d/M/Y H:i:sA', time()+20700)."','DD/MON/YY HH:MI:SSAM'),
        '$client_ip',
        '$fiscal_year',
        '$userinfo[user_full_name]',
        '$address'
        )        
    ");
4

1 回答 1

2

首先,15PM 不存在。二、岁月面具应该是yyyy,不是yy

这有效:

select  TO_DATE('03/Jan/2013 15:51:33','DD/MON/YYYY HH24:MI:SS') from dual;

如果您想使用 AM/PM,请确保时间在 1 到 12 之间,这样可以:

select  TO_DATE('03/Jan/2013 5:51:33PM','DD/MON/YYYY HH:MI:SSAM') from dual;
于 2013-01-03T10:15:52.270 回答