2014-10-30 85 views
0

我需要返回SQL查询中对于代理原因代码为null或2的值。我试过在(2,null)中使用a.BROKER_REASON,但它只是拉回2。我试过使用“a.BROKER_REASON为null或a.BROKER_REASON = 2”,并获得错误信息“将转换varchar值'+ MULTI'转换为数据类型为int时转换失败。”有没有简单的方法来返回空值或值为2的行?返回空值或数值为2

+0

'a.BROKER_REASON为空或a.BROKER_REASON ='2'' – Lamak 2014-10-30 19:22:00

回答

0

这个错误看起来更像是你的值存储不是一个实际的数字,而是一个小字符串。

尝试:

a.BROKER_REASON is null or a.BROKER_REASON = '2' 

如果没有,你可能有多余的空间存储在那里,并且可以根据存储引擎/表的定义,在这种情况下,你可以做发生一个LTRIMLEFT(取决于哪些SQL数据库你使用)或相当于削减多余的空间。