如何使用TRY_CONVERT sql函数检查位值是否大于1

时间:2013-08-09 12:32:41

标签: sql sql-server tsql ssms-2012

我正在使用 sql server managment studio 2012

我尝试做的是检查字符串值是否有点,如果是,那么我想检查这个值是否大于1.这是我的代码:

(TRY_CONVERT(bit, '2') IS NULL OR TRY_CONVERT(bit, '2') > 1) 

为了这个示例目的,我在那里硬编码了一个带有值的字符串。

任何人都可以告诉我为什么这不起作用我的意思是第二个条件。

1 个答案:

答案 0 :(得分:1)

SQL Server中的

bit字段只能有三个值中的一个:10NULL因此检查大于1的值是无效的。

所以要解决你的问题,我会考虑这个方法

SELECT Convert(bit, CASE WHEN your_field IN ('1', '0') THEN your_field END) As valid_bit