如何修复“将varchar值'被'转换为数据类型int时转换失败”

时间:2019-06-18 07:48:18

标签: sql-server

我在IMOS数据库中进行了一些更改,并使其正常运行,但是当我的客户尝试相同的操作时,他们最终出现了错误。从谷歌搜索时,我认为该行需要包含一些CONVERT(...),但我不知道该怎么做。有人可以帮我吗?代码和错误如下。

java -cp <output of dependency plug-in>:pdfbox-examples-3.0.0-SNAPSHOT.jar org.apache.pdfbox.examples.signature.CreateSignature

错误:

  

将varchar值“被转换”为数据类型int时,转换失败。

2 个答案:

答案 0 :(得分:0)

似乎ATTRTYPE列定义为int,因此语句的第一部分应该是

UPDATE CAMDLATTROUTPUT
SET OUTPUTFLAG = 1
WHERE ATTRTYPE = 10400

(不带单引号)。

让我感到困惑的是线路

AND ATTRTYPE = 'is turned'

不能是任何类型的整数。因此,我怀疑这可能是另一个表的外键,该表包含具有ID的记录和文本“被翻转”。在这种情况下,您将需要加入。

另一方面:记录的单列永远不可能达到10400 AND同时“被翻转”。因此,即使ATTRTYPE是字符串并且不会出现语法错误,该查询影响的行数也将始终为0。

答案 1 :(得分:0)

使其正常运行,更改了行-

更新CAMDLATTROUTPUT设置OUTPUTFLAG = 1,其中ATTRTYPE ='10400'并且ATTRIBUTE ='被打开'

进入

更新[imos]。[dbo]。[CAMDLATTROUTPUT]设置OUTPUTFLAG = 1,其中ATTRTYPE ='10400'并且ATTRIBUTE ='被打开'

不知道为什么第一个不适用于所有人,但我希望至少有人能从这里找到解决他的问题的方法:)