1. 程式人生 > >SQL 如何查詢text,ntext型別欄位為空不為null ?

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;

            }