在oracle timestamp列中插入时间戳

时间:2015-08-28 12:02:04

标签: sql oracle insert timestamp

我正在尝试使用以下代码将timestamp(6)数据类型值插入表中:

INSERT INTO TOY_STORE (TOY_STORE_ID,TOY_STORE_NAME,CITY,PHONENUMBER,STORE_OPENING_TIME,STORE_CLOSING_TIME)
    VALUES(1,'Kid''s Cave','Delhi',9912312312,'2014-04-01 09:10:12','2014-04-01 21:42:05');

但这是错误的 SQL错误:ORA-01843:不是有效月份 01843. 00000 - “不是有效月份” *原因:
*行动: 有人可以纠正我的代码

2 个答案:

答案 0 :(得分:2)

Oracle有一个非标准的日期格式。您可以使用该格式(DD / MMM / YYYY),使用to_date()函数或DATE / TIMESTAMP运算符。我认为这会奏效:

INSERT INTO TOY_STORE (TOY_STORE_ID,T OY_STORE_NAME, CITY,PHONENUMBER, 
                       STORE_OPENING_TIME, STORE_CLOSING_TIME)
    VALUES(1, 'Kid''s Cave',' Delhi', 9912312312,
           TIMESTAMP '2014-04-01 09:10:12', TIMESTAMP '2014-04-01 21:42:05');

答案 1 :(得分:0)

您也可以在执行插入之前执行此命令:

ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'yyyy-mm-dd hh24:mi:ss';