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;
}