我正在尝试使用以下代码将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 - “不是有效月份”
*原因:
*行动:
有人可以纠正我的代码
答案 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';