列是空白但不符合where子句的条件

时间:2014-10-06 13:33:01

标签: sql sql-server sql-server-2008

当我运行此查询时:

 select LR.ID, LR.HIDE 
 from Location_Room LR 
 where LR.LID = 19624

我明白了:

enter image description here

当我运行第二个查询时:

 select LR.HIDE, ID 
 from Location_Room LR 
 where LR.LID = 19624 
   AND (LR.HIDE = ' ' OR LR.HIDE IS NULL or LR.HIDE = '' or datalength(LR.HIDE) = 0) 

我得到了这个结果:

enter image description here

我需要检查HIDE是否为空或空白,但似乎无法执行此操作。

列设置如下:

enter image description here

为什么会这样?我该如何解决?

1 个答案:

答案 0 :(得分:5)

看起来你在数据中有一个有趣的角色。您可以使用hide

查看ASCII()中第一个字符的ASCII值
select ascii(left(hide, 1))
from Location_Room;

或者也许:

select ascii(left(ltrim(rtrim(hide)), 1))
from Location_Room;