我正在比较两个表中的列。但是,其中一个包含两个值的数字(如01
),而另一个包含一个值的数字(如1
)。
因此,以下条件不起作用: `WHERE column_1<> column_2(结果' 01'和' 1'被认为不相等)。
我被告知要在结果的第二列的每个数字上加零,并尝试使用它:
column_1 <> RIGHT(column_2('0' + CONVERT(VARCHAR(2), '1'), 2))
但是我从SQL管理工作室得到的错误信息是&#34;正确的函数需要两个参数&#34;。
有没有人知道可以做些什么? 谢谢!
答案 0 :(得分:1)
您应该将字符串转换为整数(CAST AND CONVERT)并比较整数:
where CAST(column_1 as INT) <> CAST(column_2 as INT)
答案 1 :(得分:0)
正如@JotaBe所提到的,你应该比较整数,而不是搅拌。 但是,在第二种情况下,你的代码在语法上是不正确的,它应该是:
column_1 <> RIGHT('0' + CONVERT(VARCHAR(2), column_2), 2)
但是,例如,它不会使用负数。