所以我正在做作业,桌子是
Create TABLE Book
(
bookID number(2,0) not null,
title char(50) not null,
catID char(2),
copyrightYear number(2,0),
isbnNumber char(50),
publisherID char(2),
purchasePrice number(4,2),
coverType char(10),
datePurchased date default sysdate,
pages number(4,0)
)
当我在其中插入日期时变为错误(不是有效的月份)
Insert into Book
values (1, 'Dirk Luchte', 'PS', 93, null,'NE', 23.50,'Hard', '23-nov-1993',1012);
当我尝试使用to_date语句时
Insert into Book
values (1, 'Dirk Luchte', 'PS', 93, null,'NE', 23.50,'Hard', to_date('23-nov-1993','DD-MM-YYYY'),1012);
整个神谕崩溃了,我该怎么办?
答案 0 :(得分:1)
您可以使用official documentation作为作业,不会被视为作弊(至少不是在Stack Overflow中提问):
格式模型
Element Specify in TO_* datetime functions? Description MM Yes Month (01-12; January = 01)
所以nov
显然不是1到12之间的数字,因此是错误。
请学习不要忽视错误消息(你甚至没想过在这里分享它):他们来帮忙。
关于在表中使用sysdate导致错误标题,你很困惑。不使用列的默认值:您指定显式值。如果您想要默认值,则必须将列保留。这也意味着您必须在查询中提供列列表(这无论如何都是一种很好的做法,因为添加新列时您的应用不会中断)。
答案 1 :(得分:1)
指定日期文字的最简单方法是使用ISO格式:
DATE '1993-12-23'