Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Convert  [new]
Break Point
Member

Откуда:
Сообщений: 68
Люди научите глупого. Как правильно привести типы?
Есть поля dIn и dCons Char(8) - (ггггммдд)

 SET @cExec = 'INSERT INTO #tRep ([idc], [top1], [top2], [top3], [res]) SELECT k.[idc], [top1] = ' + '''Сроки''' +

', [top2] = ' + '''производства''' +
', [top3] = ' + '''поступл.-рассм.''' +
', [res] = (CONVERT(DateTime, [dIn]) - CONVERT(DateTime, [dCons])) ' +
'FROM [tUd] t LEFT JOIN [kUd] k ON t.[idc] = k.[idBuss] ' + @cWhere
EXEC sp_executesql @cExec

Вываливается ошибка:
Server: Msg 260, Level 16, State 1, Line 1
Disallowed implicit conversion from data type datetime to data type int, table 'tempdb.dbo.#tRep___000100000034', column 'res'. Use the CONVERT function to run this query.
14 апр 03, 16:16    [173687]     Ответить | Цитировать Сообщить модератору
 Re: Convert  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
DATEDIFF ващето, вроде
14 апр 03, 16:19    [173691]     Ответить | Цитировать Сообщить модератору
 Re: Convert  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Судя по сообщению об ошибке, ты пытаешься в целое поле дату запихать. Res у тебя какого типа? Если целого, то заверни вычитание в еще один convert. И чтож в этом поле ты хочешь получить напиши.
14 апр 03, 16:21    [173696]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить