Ошибка преобразования при преобразовании значения nvarchar '1819000030-1' в тип данных int.
Объявить @DocEntry nVarchar(10)
НАБОР @DocEntry = (выберите конвертировать(nVarchar,Max(U_DocNum),112) из [@TI_GoodReceipt])
Выберите T1.DocDate,T1.DocNum,T1.docentry,t1.CardName,T3.expdate,T1.NumAtCard,T3.notes,T0.BatchNum,T0.Quantity,
T3.DistNumber,t2.WhsCode,t2.U_IsInsp,T2.ItemCode,t2.Dscription,T1.U_BOENO,T2.unitMsr от IBT1 T0
левое соединение OPDN T1 на T0.BaseType=T1.ObjType
и T0.BaseEntry=T1.Доцентри
внутреннее соединение pdn1 T2 на T1.DocEntry =t2.DocEntry и T0.quantity <> t2.quantity
левое наружное соединение obtn T3 на T0.BatchNum = T3.AbsEntry
где T1.DocEntry = '30'
Что я уже пробовал:
Пожалуйста, помогите мне с этой ошибкой запроса
Dave Kreskowiak
Причина, по которой он терпит неудачу, заключается в характере" -". Поскольку символ " - " встречается где-то в середине строки, а не в начале ее, обозначая отрицательное число, строка больше не представляет собой целое значение.
Если вы думаете, что эта строка представляет собой "1819000030 минус 1", подумайте еще раз. Преобразование в INT не будет интерпретировать строку таким образом и не будет делать математику за вас.
RedDk
Что такое "IBT1" и каково его отношение к "T0"?