当前位置:编程学习 > C#/ASP.NET >>

字段为char型,如何再sql where 里判断他为空, isnot null 好像不行

字段为char型,如何再sql where 里判断他为空, isnot null 好像不行 --------------------编程问答-------------------- 为空是 
is null吧 --------------------编程问答-------------------- is   null 也不行
--------------------编程问答-------------------- datalength(字段名称)>0





--------------------编程问答-------------------- 字段='' or len(字段)=0 --------------------编程问答--------------------
SELECT * FROM tb WEHRE field IS NOT NULL
--------------------编程问答-------------------- where敲错. --------------------编程问答-------------------- len(字段) --------------------编程问答-------------------- 我自己是这样做的
replace(字段,' ') is not null --------------------编程问答-------------------- 上面的写法是画蛇添足.

如果字段本身为空值即null,就不会有空格出现,何必replace一次.

况且,当某个操作数为null时,除了一些消除null的函数(比如isnull,nullif,count(聚合)等等)外,其它的运算结果(算术运算,字串相连,逻辑运算)仍为null, replace也是没有效的.

再次,replace语法错误.

我看你的写法,现在想知道你是想知道一个字段是不是null,还是想知道它是写了个空字串,即''.

比如:
declare @s varchar(10)
select @s /*没赋值,当然是null*/
set @s=''
select @s /*初始化过了,给的空字串,显示''*/ --------------------编程问答-------------------- SELECT * FROM tb WEHRE field <> ''

char 类型
    如果没有值,又允许null,则为 null ;
    如果有值,但为空值     ,则为 ‘’ --------------------编程问答-------------------- SELECT   *   FROM   tb   WEHRE   field   <>   '' 

char   类型 
        如果没有值,又允许null,则为   null   
        如果有值,但为空值    ,则为   '' --------------------编程问答-------------------- 建议使用VARCHAR,节省空间。 --------------------编程问答--------------------

isnull(字段,'')=''
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,