SQL 如何查找text,ntext类型字段为空不为null ?

我们知道,在sql语句中,如果查找某个文本字段值为空的,可以用select * from 表 where 字段='' ,但是如果这个字段数据类型是text或者ntext,那上面的sql语句就要出错了。

下面是个人总结的几种常用方法

1. select * from 表 where datalength(字段)=0

2. select * from 表 where cast(字段 as varchar(100))=' '

3. select * from 表 where 字段 like ''

比如在asp.net中在线留言板块中用来判断是否回复,我们可以判断回复内容是否为空来区分:
string key = this.GuestDropDownList.SelectedValue;
            switch (key)
            {
               case "all":
                    RptBind("IsLock=0 And IsEn=0", "AddTime desc");
                    break;
               case "yes":
                    RptBind("IsLock=0 And IsEn=0 And datalength(ReContent)>0", "AddTime desc");
                    break;
               case "no":
                    RptBind("IsLock=0 And IsEn=0 And datalength(ReContent)=0", "AddTime desc");
                    break;

            }

你可能感兴趣的:(SqlServer2008,SqlServer2005)