返回空值或数值2

时间:2014-10-30 19:18:40

标签: sql sql-server

我需要在SQL查询中返回值为null或2作为代理原因代码的值。我尝试在(2,null)中使用a.BROKER_REASON,但它只会拉回2。我尝试使用" a.BROKER_REASON为null或a.BROKER_REASON = 2"并获得错误信息"转换varchar值时转换失败' + MULTI'数据类型int。"是否有一种简单的方法可以返回空值或值为2的行?

1 个答案:

答案 0 :(得分:0)

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

尝试:

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

如果没有,你可能会有额外的空间存储,并且可能会发生,具体取决于存储引擎/表定义,在这种情况下你可以执行LTRIMLEFT(取决于你使用的SQL数据库) )或相当于削减多余的空间。