is   null 也不行

解决方案 »

  1.   

    datalength(字段名称)>0
      

  2.   

    SELECT * FROM tb WEHRE field IS NOT NULL
      

  3.   

    我自己是这样做的
    replace(字段,' ') is not null
      

  4.   

    上面的写法是画蛇添足.如果字段本身为空值即null,就不会有空格出现,何必replace一次.况且,当某个操作数为null时,除了一些消除null的函数(比如isnull,nullif,count(聚合)等等)外,其它的运算结果(算术运算,字串相连,逻辑运算)仍为null, replace也是没有效的.再次,replace语法错误.我看你的写法,现在想知道你是想知道一个字段是不是null,还是想知道它是写了个空字串,即''.比如:
    declare @s varchar(10)
    select @s /*没赋值,当然是null*/
    set @s=''
    select @s /*初始化过了,给的空字串,显示''*/
      

  5.   

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

  6.   

    SELECT   *   FROM   tb   WEHRE   field   <>   '' char   类型 
            如果没有值,又允许null,则为   null   
            如果有值,但为空值    ,则为   ''