SQL查询某字段非空的记录解决方法

转载:http://blog.sina.com.cn/s/blog_9e0d335801016yp7.html

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()是去除首尾空格,整体来说效果是一样的

你可能感兴趣的:(mysql)