Простая вставка значений в таблицу с форматом даты - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь вставить некоторые основные данные в таблицу, но получаю сообщение об ошибке. Сначала я думал, что у меня просто был неправильный формат даты, когда я вставлял в столбец даты, но теперь у меня возникают сомнения.

Первоначально даты для столбца 4 были в формате 12-Январь-10 для типа данных DATE. Я изменил формат на 2010-01-12, но все еще получаю ту же ошибку. Я, вероятно, упускаю что-то простое здесь, но я не совсем уверен, что это такое.

Я получаю ошибку:

Msg 241, Уровень 16, Состояние 1, Строка 2
Ошибка преобразования при преобразовании даты и / или времени из символьной строки.

Вот столбцы для таблицы ...

BookName (PK, Varchar(45), not null)
Genre (varchar(25), not null)
DateOfPublication (date,not null)
NoOfPages (int, not null)
WriterID (PK, FK, varchar(11), not null)
EditorID (FK, varchar(11), not null)
insert into BOOK (BookName, Genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('Valley of Heroes','10','Fiction','2010-01-12',874,'20');
insert into BOOK (BookName, genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('The Ruler''s Return','11','Fantasy','2012-03-14',765,'22');
insert into BOOK (BookName, genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('eRobot','11','Fantasy','2011-04-15',264,'20');
insert into BOOK (BookName, genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('An Uncle''s Letters','12','Fiction','2012-06-12',258,'20');
insert into BOOK (BookName, genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('Pretty flowers','13','Album','2013-01-31',148,'22');
insert into BOOK (BookName, genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('A Tale of Lions','12','Fantasy','2012-08-17',301,'21');
insert into BOOK (BookName, genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('eRobot','13','Sci Fi','2012-10-04',465,'23');

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Кажется, вы ошиблись в списке значений. Значение '10' должно быть в конце.

Ваше утверждение

insert into BOOK (BookName, Genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('Valley of Heroes','10','Fiction','2010-01-12',874,'20');

попытается добавить значение 'Fiction' в столбец DateOfPublication.

Комуисправить это используйте

insert into BOOK (BookName, Genre, DateOfPublication, NoOfPages, WriterID, EditorID)
values ('Valley of Heroes','Fiction','2010-01-12',874,'10','20');
1 голос
/ 18 октября 2019

Всегда перечислять столбцы, когда вы делаете insert. Имена и значения столбцов должны быть в том же порядке:

insert into book (BookName, WriterID, Genre, DateOfPublication, , NoOfPages, EditorID)
    values ('Valley of Heroes', '10', 'Fiction', '2010-01-12', 874, '20');
...