iKo*_*ode 2 sql sql-server sql-server-2008
当我运行此查询时:
select LR.ID, LR.HIDE
from Location_Room LR
where LR.LID = 19624
Run Code Online (Sandbox Code Playgroud)
我明白了:

当我运行第二个查询时:
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)
Run Code Online (Sandbox Code Playgroud)
我得到这个结果:

我需要检查HIDE是不是空或空白,但似乎无法这样做.
该列设置如下:

为什么会这样?我该如何解决?
看起来你在数据中有一个有趣的角色.你可以看到的第一个字符的ASCII值hide的使用ASCII():
select ascii(left(hide, 1))
from Location_Room;
Run Code Online (Sandbox Code Playgroud)
也许:
select ascii(left(ltrim(rtrim(hide)), 1))
from Location_Room;
Run Code Online (Sandbox Code Playgroud)