插入带时区的日期文字

时间:2013-03-08 19:50:35

标签: sql oracle

我想以我使用alter session命令设置的格式传递日期。这是我到目前为止所尝试的内容。不了解无效月份错误。我正在使用10g。

数据库时区是UTC

SELECT dbtimezone FROM DUAL;
UTC 

我设置了会话时区和日期格式

alter session set time_zone = 'UTC';
alter session set NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF TZR';
alter session set NLS_DATE_FORMAT = 'YYYY-MM-DD';

我正在插入值的表格如下。

table

单个记录插入的SQL代码:

Insert into books_outsource_plan(os_cell_id, os_date, os_value, os_snapshot, os_created) 
values (1,'2013-03-08',3000,'2013-03-07 19:10:10 UTC','2013-03-08 19:15:54 UTC');

错误报告:

SQL Error: ORA-01843: not a valid month

1 个答案:

答案 0 :(得分:0)

尝试CASTING to_date ,然后插入

LIKE

Insert into books_outsource_plan(os_cell_id, os_date, os_value, os_snapshot, os_created) 
values (1,to_date('2013-03-08'),3000,to_date('2013-03-07 19:10:10 UTC'),to_date('2013-03-08 19:15:54 UTC'));