SQL Server Manager 2008.SQL故障转换为int
我最近更改了存储过程以查看不同的表。
从那时起,我继续接收相同的错误:
“消息245,级别16,状态1,第1行转换将varchar值‘BC8018’为数据类型int时 转换失败”
现在,我将查询分解到根,以查找出现此问题的位置,并确定它发生在我的新表的JOIN上。
现在我比较表中使用的唯一字段Im,并且Pareto和NewPareto都是int。
继承人的代码:
SELECT i.Acct,
i.Name,
i.Document,
i.Part,
i.Qty,
i.Unit,
dbo.PeriodInsert.NewPareto,
i.pg,
i.[DateTime],
i.BinSeqNo
FROM
OPENQUERY(SACBAUTO, 'SELECT dbo.iHeads.acct,
dbo.iHeads.name,
dbo.iLines.Document,
dbo.iLines.Part,
dbo.iLines.Pg,
dbo.iLines.Qty,
dbo.iLines.unit,
dbo.iHeads.[DateTime],
dbo.iLines.BinSeqNo
FROM Autopart.dbo.iheads INNER JOIN Autopart.dbo.iLines ON
Autopart.dbo.Iheads.document = autopart.dbo.iLines.document
WHERE dbo.iLines.Pg not in (''60'',''61'',''62'')
') i
left JOIN
dbo.PeriodInsert
ON
i.Part collate SQL_Latin1_General_CP1_CI_AS = dbo.PeriodInsert.NewPareto
WHERE
(i.[DateTime] BETWEEN '2012-03-01' AND '2012-08-23') AND
i.Acct = '1557'
请记住这一点,我休息了原有存储过程的下降但是这是它的根发生。我觉得很奇怪,使用字段pareto的名为NEWpareto的Original表也是一个int。 任何想法,为什么这件事情突然停止工作,只是因为一张桌子?
如果您需要更多信息,请让我知道。
非常感谢
当然我匹配它错了,对不起刚醒来。傻我 – lemunk