日期:2014-05-18  浏览次数:20505 次

SQL查询某字段非空的记录
请问我要得到某个字段不为   null     ' '     '   '       '       ',等等,(即:不为空,也不为各种数量的空格)
sql语句怎么写?

------解决方案--------------------
try

SELECT * FROM TableName Where IsNull(RTRIM(字段), ' ') != ' '
------解决方案--------------------
select 字段 from 表 where 字段 is not null and ltrim(字段) <> ' '
------解决方案--------------------
select * from table1 where replace(isnull(field, ' '), ' ', ' ') <> ' '



------解决方案--------------------
直接用RTRIM去掉空格即可,不需要用replace做替換。
------解决方案--------------------

SELECT * FROM Table_Pqs Where IsNull(rtrim(字段), ' ') <> ' '


字段 is not null and ltrim(字段) <> ' ' 和上面一样,谈不上有什么好处。就是简单一些而已
------解决方案--------------------
如果鱼还可以看到这个结过的贴子,能否讲一下
IsNull(RTRIM(字段), ' ') != ' '

字段 is not null and ltrim(字段) < > ' '
有什么区别与好处?

我来讲下吧,其实两句的效果都一样,RTRIM()是去除自尾空格,isnull(字段,‘’)的意思就是如果字段是null则替换成‘’ 整句的意思就是把字段去除尾部空格,判断是否为null,是的话替换成‘’ 在判断和‘’是否相等
后一句的一是就是把判断null和‘’分开写了,ltrim()是去除首尾空格,整体来说效果是一样的