Как я могу упомянуть AM / PM при вставке значения времени в таблицу на сервере sql? - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь вставить значения во времени и столбце таблицы (doughnut_ratings) отдельно, , но выдает следующую синтаксическую ошибку:

Msg 241, Level 16, состояние 1, строка 65 Не удалось выполнить преобразование при преобразовании даты и / или времени из строки символов.

Я пишу следующий запрос, пожалуйста, предложите

create table doughnut_ratings
(
location varchar(30),
time time,
date date,
type char(30),
ratings int,
comments varchar(max),
)

insert into doughnut_ratings
values
('starbuzz coffee','7:43 am','4/23','cinnamon glazed',6,' too much price')

1 Ответ

2 голосов
/ 27 февраля 2020

Проблема не во времени ('7:43 am'), которое можно конвертировать без проблем. TRY_CONVERT(time,'7:43 am') возвращает 07:43:00.0000000. DB <> Fiddle .

Проблема в том, что ваша "дата": '4/23'. Это не date. Дата состоит из года, месяца и дня, и ей нужно всех из них. Вам нужно использовать такой формат, как yyyyMMdd или yyyy-MM-dd. Например, если это дата этого года, то это будет '2020-04-23'.

. Вам нужно исправить свои данные, тогда вы можете INSERT их исправить. 4/23 может представлять многие вещи. Апрель 1923 года / апрель 2023 года; если так, какой день? 23 апреля; если да, то в каком году? 4-й день 23-го года или 23-й день 4-го года (не знаю, что это будет)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...