2014-04-04 144 views
-1

在SQL +中,我试图插入一个包含年,月,日,星期几,小时,分钟和秒钟的日期。除了一周中的一天之外,一切都如预期一样。最初的INSERT语句排除一周中的一天,完美跑DATEFORMAT导致错误

insert into auctions 
values (To_Date('AUGUST 12, 2014 11:01:02','MONTH DD, YYYY HH:MI:SS')); 

然而,当我尝试包括星期,我得到一个错误

insert into auctions 
values (To_Date('TUE AUGUST 12, 2014 11:01:02','WTXT MONTH DD, YYYY HH:MI:SS')); 

ORA-01820: format code cannot appear in date input format 

很显然,我做错事的日子,可能是WTXT的语法。目标是以三个字母的缩写形式让每周的一天。问题是什么?

回答

2

您需要DY代表短日名称插入:

insert into auctions 
values (To_Date('TUE AUGUST 12, 2014 11:01:02','DY MONTH DD, YYYY HH24:MI:SS')); 

的解释是受到NLS设置,这可能是也可能不是你的问题。

日期时间格式模型元素列表in the documentationWTXT对我来说是新的;我认为这是对W的抱怨,而不是进一步看,因为周编号只在to_char()有效。

您可能还希望使用HH24而不是12小时制HH,因为您没有am/pm标记。

+0

工作,谢谢。 – Codarus

+0

@TechSavvySmurf - 更新为使用HH24,这可能会抢占未来的问题... –