查询'0'

时间:2017-09-20 00:36:35

标签: sql where

我需要在sql中查询0的varchar字段。

当我查询where ='0'时,我得到了生成的错误消息。

Conversion failed when converting the varchar value 'N' to data type int.

我无法确定问题的来源。我的谷歌搜索让我失败了,有人能指出我正确的方向吗?

编辑: 感谢这一个人的帮助,所以数据中的'N'只是极少数,所以他们没有出现在我的前100个查询中,直到我进一步限制搜索结果。

显然sql没有任何问题比较int与varchar(1),只要它们也是整数。我甚至没有意识到我在查询的更远处使用了一个int。

哦,抱歉没有分享我的查询,这很长很复杂,我试图分享我认为与之相关的内容。我将在以后的问题中写一个简化的查询。

任何人都知道如何将其标记为已解决?

1 个答案:

答案 0 :(得分:2)

如果您的字段是varchar(),则表达式为:

where field = '0'

无法返回类型转换错误。

此版本可以:

where field = 0

如果field的值为'N',则会返回错误。我猜这就是情况。

否则,您的代码中有另一个表达式,通过从字符串到数字进行转换来解决问题。