我正在使用 sql server managment studio 2012
我尝试做的是检查字符串值是否有点,如果是,那么我想检查这个值是否大于1.这是我的代码:
(TRY_CONVERT(bit, '2') IS NULL OR TRY_CONVERT(bit, '2') > 1)
为了这个示例目的,我在那里硬编码了一个带有值的字符串。
任何人都可以告诉我为什么这不起作用我的意思是第二个条件。
答案 0 :(得分:1)
bit
字段只能有三个值中的一个:1
,0
或NULL
因此检查大于1的值是无效的。
所以要解决你的问题,我会考虑这个方法
SELECT Convert(bit, CASE WHEN your_field IN ('1', '0') THEN your_field END) As valid_bit