Ошибка запроса ниже не смог преобразования при преобразовании в int 5/1
problem error on query below conversion fails when converting 5/1 to int <pre lang="CSS">DataSample SpecialCode expr1 EXPR2 000151/1 000151 1 000151/2 000151 2 000151/3 000151 3 006495/1 006495 1 006495/2 006495 2
данные выше не имеют никаких проблем, но я делаю это, чтобы показать, что запрос делает
но ошибка выше может возникнуть на данных expr1 и EXPR2 при преобразовании в целое число
Так что
1 - что я изменяю по запросу, чтобы избежать отображения этой ошибки, потому что больше использовать написать специальный код неправильно и сохранить его неправильно ?
2-почему происходит эта ошибка и случаи, которые делают эту ошибку ?
Что я уже пробовал:
Query sql server 2014 as below : SELECT FirstPrintCardFooter.FooterNotes, FirstPrintCardFooter.PrintFlag, dbo.VMainMembers.TransactionNo, dbo.VMainMembers.PaymentDate, dbo.Members.MemberCode,MSRelation.MSRelationName,MSRelation.MSRelationId, dbo.Members.SpecialCode, dbo.Members.Name,dbo.Members.RelatedMemberCode,MemberImage,VMainMembers.totalcredit, CAST(CAST(LEFT(dbo.Members.SpecialCode, CHARINDEX('/', dbo.Members.SpecialCode + '/') - 1) AS nvarchar) AS int) AS expr1 , CAST(CAST(substring(dbo.Members.SpecialCode, CHARINDEX('/', dbo.Members.SpecialCode)+1 , len(dbo.Members.SpecialCode) - CHARINDEX('/', dbo.Members.SpecialCode)) AS nvarchar) AS int) AS EXPR2 FROM dbo.Members left join MSRelation on Members.MSRelation=MSRelation.MSRelationId LEFT JOIN dbo.VMainMembers ON SUBSTRING(dbo.Members.SpecialCode, 0, CHARINDEX('/', dbo.Members.SpecialCode, 0))=SUBSTRING(dbo.VMainMembers.SpecialCode, 0, CHARINDEX('/', dbo.VMainMembers.SpecialCode, 0)) LEFT JOIN FirstPrintCardFooter ON MEMBERS.MemberCode = FirstPrintCardFooter.MemberCode AND dbo.VMainMembers.[Year] = FirstPrintCardFooter.TrxYear WHERE FirstPrintCardFooter.MemberCode IS NULL and dbo.VMainMembers.TransactionNo is not null and VMainMembers.Year=2018 order by expr1 ,EXPR2