Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка "Invalid operator for data type"... / 5 сообщений из 5, страница 1 из 1
03.10.2002, 16:13:59
    #32055215
Alex_VB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "Invalid operator for data type"...
CREATE TABLE #DataCurrent (ID_Equip bigint, Date_repair smalldatetime, Type_repair char(1))
CREATE TABLE #DataMidle (ID_Equip bigint, Date_repair smalldatetime, Type_repair char(1))
CREATE TABLE #DataCapital (ID_Equip bigint, Date_repair smalldatetime, Type_repair char(1))
DECLARE @Date_beg smalldatetime, @Date_end smalldatetime, @Date_new smalldatetime, @Norm int,
@days int
SET @Date_beg='01.01.2003'
SET @Date_end='31.12.2003'

INSERT INTO #DataCurrent (#DataCurrent.ID_Equip, #DataCurrent.Date_repair, #DataCurrent.Type_repair)
SELECT Equipment.ID_Equip, (Equipment.Data_kap+((@Date_beg-Equipment.Data_kap)/NormPPR.Cur_Probeg/8/Equipment.Smen)*(NormPPR.Cur_Probeg/8/Equipment.Smen)) as Date_repair, 'Т'
FROM Zavod INNER JOIN Ceh
ON Zavod.ID_Plnt = Ceh.ID_Plnt
INNER JOIN Uchastki
ON Ceh.ID_Ceh = Uchastki.ID_Ceh
INNER JOIN Equipment
ON Uchastki.ID_Uch = Equipment.ID_Uch
INNER JOIN NormPPR
ON NormPPR.ID_Equip = Equipment.ID_Equip
WHERE Uchastki.Uch_name > 0 AND Uchastki.Uch_name <> 19
AND Equipment.Data_kap > '01.01.1960' AND Ceh.Ceh_name='110'
AND Equipment.Smen >0

Вылетает ошибка "Invalid operator for data type." в строке:
INSERT INTO #DataCurrent (#DataCurrent.ID_Equip, #DataCurrent.Date_repair, #DataCurrent.Type_repair)
...
Рейтинг: 0 / 0
03.10.2002, 16:28:03
    #32055228
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "Invalid operator for data type"...
Вот так с датами лучше не работать:
Код: plaintext
(Equipment.Data_kap+((@Date_beg-Equipment.Data_kap)/NormPPR.Cur_Probeg/ 8 /Equipment.Smen)*(NormPPR.Cur_Probeg/ 8 /Equipment.Smen))


Используйте встроенные функции - DATEADD...

Удачи
...
Рейтинг: 0 / 0
03.10.2002, 16:39:51
    #32055242
Alex_VB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "Invalid operator for data type"...
Исправлюсь...
спасибо, jimmers
...
Рейтинг: 0 / 0
03.10.2002, 16:50:17
    #32055251
Alex_VB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "Invalid operator for data type"...
Исправил вот так:
...
SELECT Equipment.ID_Equip, DATEADD(d,(@Date_beg-Equipment.Data_kap)/NormPPR.Cur_Probeg/8/Equipment.Smen*NormPPR.Cur_Probeg/8/Equipment.Smen,Equipment.Data_kap) as Date_repair, 'Т'
...

Но все равно выходит ошибка:
"Invalid operator for data type. Operator equals divide, type equals datetime." в этой строке.
...
Рейтинг: 0 / 0
03.10.2002, 16:58:19
    #32055258
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "Invalid operator for data type"...
@Date_beg-Equipment.Data_kap - это тоже.. см. DATEDIFF
Если остальные поля не date, то вроде все должно заработать.
Еще нули там ловить бы...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка "Invalid operator for data type"... / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]