在我正在使用的数据库中,我在表中有一个数据类型为varchar(10)的字段。该字段可以为null,不必包含整数,但大部分时间都是如此。我将查询中每次迭代的WHERE子句中此字段的值与整数值进行比较。小数点右边必须至少有一个数字,并且最多可以有2个小数位,但大多数时候会有1. 0.00如果比较为0则可以符合条件,但0不符合条件,因为它不符合它后面有一个小数。什么是最安全的公式,以便我只考虑非空双值?
假设我的表中有这些值:
NULL
2.49
2.0
2
2.1
2.4
我只希望这些在这个表达式中将这些值视为真:
2.49
2.0
2.1
2.4
这是一个开始..我没有想到NULL或小数情况..
AND CONVERT(INT,fieldname.sortorder)= 2
答案 0 :(得分:1)
添加其他条件以进行字符串比较。
AND fieldname.sortorder LIKE '%[0-9].[0-9]%'
AND CONVERT(INT, fieldname.sortorder)= 2