Как вставить малую дату и время

Я новичок в sql-сервере, так как это требование моего клиента. Я не могу вставить из-за ошибки, которую я получаю относительно smalldatatime. Что не так с моим запросом? Я пробовал все, но все равно выдает ошибку.

Вот что я пробовал:

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, 2018-07-24 06:30:50.000)
SET IDENTITY_INSERT table1 OFF

ОШИБКА Я ПОЛУЧИЛ:

Сообщение 102, уровень 15, состояние 1, строка 5 Неверный синтаксис рядом с «06».

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, '2018-07-24 06:30:50.000')
SET IDENTITY_INSERT table1 OFF

ОШИБКА Я ПОЛУЧИЛ:

Сообщение 206, уровень 16, состояние 2, строка 2 Конфликт типа операнда: int несовместим с датой

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, 2018-07-24T06:30:50.000)
SET IDENTITY_INSERT table1 OFF

ОШИБКА Я ПОЛУЧИЛ:

Сообщение 102, уровень 15, состояние 1, строка 5 Неверный синтаксис рядом с «T06:»


person irish    schedule 24.07.2018    source источник
comment
Какова структура table1? Ваш второй подход правильный, но кажется, что вы пытаетесь вставить дату в столбец int   -  person Josh Part    schedule 24.07.2018
comment
Здесь: CREATE TABLE table1 (id int IDENTITY (1,1) PRIMARY KEY, timelog smalldatetime NOT NULL);   -  person irish    schedule 24.07.2018
comment
Как правильно вставить smalldatetime или datetime?   -  person irish    schedule 24.07.2018
comment
Синтаксическая ошибка, вставка значений в таблицы: INSERT INTO table1 (id, timelog) Values ​​(1, '2018-07-24 00:05:44.610')   -  person CR241    schedule 24.07.2018


Ответы (1)


Правильный синтаксис - второй, но вам не хватает ключевого слова VALUES:

CREATE TABLE table1( id int IDENTITY(1,1) PRIMARY KEY, timelog smalldatetime NOT NULL ); 

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, '2018-07-24 06:30:50.000')
SET IDENTITY_INSERT table1 OFF

select * from table1

Результат:

введите здесь описание изображения

person Andrea    schedule 24.07.2018
comment
но я все еще получаю ту же ошибку Msg 206, уровень 16, состояние 2, строка 2 Конфликт типа операнда: int несовместим с датой - person irish; 25.07.2018
comment
@irish Синтаксис правильный, см. скрипку здесь - person Andrea; 25.07.2018