1 / 1 / 0
Регистрация: 05.02.2014
Сообщений: 13
1

Запрос на заполнение таблицы и ошибка "Operand type clash: int is incompatible with date"

05.02.2014, 15:25. Показов 28986. Ответов 7
Метки нет (Все метки)

Привет всем дорогие форумчане!!!

Подскажите по вот такой ошибке, уже все перепробывал, не чего не помогает!
У меня вот такой простой запрос на создание таблицы :

SQL
1
2
3
4
5
6
7
8
USE Video
 
CREATE TABLE operatorskaia (
id_video INT IDENTITY PRIMARY KEY,
nazvanie VARCHAR(160) UNIQUE NOT NULL,
data_zapisi DATE DEFAULT getdate(),
time_zapisi INT NOT NULL CHECK (time_zapisi >0 OR time_zapisi <=3600),
arhivacia DATE NOT NULL);
И запрос на заполнение:

SQL
1
2
3
4
USE Video
INSERT INTO operatorskaia VALUES ('day-one',NULL,3600,2014-01-28);
INSERT INTO operatorskaia VALUES ('day-two',2014-01-30,3600,2014-01-30);
INSERT INTO operatorskaia VALUES ('day-thre',2014-01-30,3600,2014-01-29);
Выдает вот такую ошибку:
Msg 206, Level 16, State 2, Line 3
Operand type clash: int is incompatible with date
Чего там несовместимого не пойму, смотрел в упор,не вижу ! и при чем тут инт и дата они же в разных полях !!!
Помогите пожалуйста !!!!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2014, 15:25
Ответы с готовыми решениями:

При выполнении запроса выскакивает ошибка "Operand type clash: date is incompatible with int"
Всем доброго дня! Я использовал данный запрос: SELECT Филиал.Название_филиала,...

Не создается хранимая процедура с запросом. Operand type clash: int is incompatible with cursor
Пишешь процедуру : SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE procedure1 ...

Ошибка "Incopatible operand type object and int"
Нужно, чтобы в условии функции delete элемент ArrayList'a сравнивался с указанным типом (у меня он...

IntelliSense: operand types are incompatible ("int" and "int *")
void Map::showmap() //вывод карты на экран { for ( int i = 0; i &lt; s; i++) { for ( int j...

7
1311 / 943 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
05.02.2014, 15:32 2
явно указывайте список полей для insert
1
1 / 1 / 0
Регистрация: 05.02.2014
Сообщений: 13
05.02.2014, 16:03  [ТС] 3
Вот прописал:

SQL
1
2
3
USE Video
INSERT INTO operatorskaia (nazvanie,data_zapisi,time_zapisi,arhivacia) 
VALUES('day-1',2014-01-30,2600,2014-01-30);
По началу ругался на то что нет якобы соединения, ладно... перезашел, теперь опять эта ошибка...

Msg 206, Level 16, State 2, Line 3
Operand type clash: int is incompatible with date
......
Может у меня вирусы какие , но стоит нод(обновляю каждый день) и фиксоров по длл полно на исправление, вроде не должно.. Просто уже не знаю на что думать...

Добавлено через 11 минут
Нажимаю на разбор(parse),все ок !!
Что делать ?!?!?!
1
1311 / 943 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
05.02.2014, 16:13 4
Лучший ответ Сообщение было отмечено PavelTX как решение

Решение

T-SQL
1
2
3
use Video;
insert into operatorskaia (nazvanie,data_zapisi,time_zapisi,arhivacia)
values('day-1','20140130','14:30','20140130');
1
1075 / 727 / 173
Регистрация: 27.11.2009
Сообщений: 2,168
05.02.2014, 21:47 5
Наверно, не
T-SQL
1
time_zapisi int not null check (time_zapisi >0 or time_zapisi <=3600)
, а
T-SQL
1
time_zapisi int not null check (time_zapisi >0 AND time_zapisi <=3600)
А ошибку мог вызвать триггер, например, который от нас скрыли.
Либо действительно нам показали time_zapisi int, а на самом деле time_zapisi time
1
3198 / 1938 / 687
Регистрация: 02.06.2013
Сообщений: 4,746
06.02.2014, 00:07 6
Цитата Сообщение от PavelTX Посмотреть сообщение
2014-01-30
Это не дата, как вы очевидно подумали, а число 1985
1
20 / 20 / 1
Регистрация: 03.01.2013
Сообщений: 184
06.02.2014, 06:51 7
invm, верно подметил, вообще все кроме цифр в SQL должно быть в одинарных кавычках - '2014-01-30', '20140202', '2014-02-20 14:52:30', 'Hi, world!' and so on...
1
1 / 1 / 0
Регистрация: 05.02.2014
Сообщений: 13
06.02.2014, 09:32  [ТС] 8
Цитата Сообщение от cygapb-007 Посмотреть сообщение
T-SQL
1
2
3
use Video;
insert into operatorskaia (nazvanie,data_zapisi,time_zapisi,arhivacia)
values('day-1','20140130','14:30','20140130');
Спасибо ! выручил, только у меня на двоеточие ошибку выдает, поэтому также без пробелов поставил вот так и все заработало :
use Video

insert into operatorskaia (nazvanie,data_zapisi,time_zapisi,arhivacia)
values('day-1','20140130','1430','20140130');

А еще подскажите это из за версии SQL зависит, почему выдает ошибку на двоеточие... ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2014, 09:32

Ошибка: argument of type "char *" is incompatible with parameter of type "LPCWSTR"
Помогите, пожалуйста, исправить ошибку в программе. #include &lt;iostream&gt; #include &quot;stdio.h&quot;...

ошибка Error: Incompatible type for arg no. 1: Got "TRawbyteSearchRec", expected "LongWord"
Здравствуйте дорогие форумчанины. В данном коде выходит ошибка unit1.pas(101,24) Error:...

Ошибка argument of type "CGroup *" is incompatible with parameter of type "CGroup *"
Задача состоит в том, чтобы на основе текстовых файлов сделать подобие базы данных. Есть 3...

argument of type "const char *" is incompatible with parameter of type "LPCWSTR"
static std::vector&lt;std::string&gt; v; std::vector&lt;std::string&gt;::iterator it; ... TextOut(hdc, 0, y,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.