Я написал на SQL Server 2014:
create table CriticalStop
(
SAP_ID int not null,
Affected_ID char(15) not null,
FnLoc_ID char(20) not null,
MalFn_date date,
MalFn_time time,
MalFnHour_dur float,
MalFnMajor char(15),
primary key(SAP_ID)
);
go
insert into CriticalStop(SAP_ID, Affected_ID, FnLoc_ID, MalFn_date, MalFn_time, MalFnHour_dur, MalFnMajor)
values (10045929, 'TN.211-HC1', 'TN.211-HC1', convert(date,'20190101'), convert(time,'18:29:00.290'), 3.52, 'Process')
Они были в порядке.но когда я использовал приведенный ниже оператор, SQL Server 2014 выдал ошибку
select
SAP_ID,
Affected_ID,
FnLoc_ID,
MalFn_date+3 as MalFn_delay,
MalFn_time,
MalFnHour_dur,
MalFnMajor
from
CriticalStop;
Ошибка:
Сообщение 206, Уровень 16, Состояние 2, Строка 2314
Столкновение с типом операнда: date несовместима с int.
Строка 2314 указывала на оператор SELECT выше.Я не понимаю, почему эта ошибка происходит в строке MalFn_date+3 as MalFn_delay
.Я удаляю +3
, результат в порядке, но мне нужно изменить дату.Как мне заставить его работать с +3
.