求 行数据中 为空字段数 函数或sql 语句如:id    name      areaid     sex
1     张三      NULL        1
怎么查询id为1这条数据中为空的字段数,有什么函数吗?

解决方案 »

  1.   

    select * from tb where areaid is null?
      

  2.   

    select count(1) from 
    (
    select ltrim(name) name from [Table]  where id=1
    union all
    select ltrim(areaid) name from [Table]  where id=1
    union all
    select ltrim(sex) name from [Table]  where id=1
    )aa where name is null
      

  3.   

    or 
    select case when name is null then 1 else 0 end+
           case when areaid is null then 1 else 0 end+
           case when sex is null then 1 else 0 end
    from [Table] where id=1
      

  4.   

    select sum(
        case when name is null then 1 else 0 end+
        case when areaid is null then 1 else 0 end+
        case when sex is null then 1 else 0 end)
    from tb
      

  5.   


    select sum(
        case when name is null then 1 else 0 end+
        case when areaid is null then 1 else 0 end+
        case when sex is null then 1 else 0 end)
    from tb
    嗯,这个行,
    除了为NULL的,为 '' 的也要统计呢?
      

  6.   


    嗯,这个行,
    除了为NULL的,为 '' 的也要统计呢?
      

  7.   

    select sum(
        case when isnull(name,'')='' then 1 else 0 end+
        case when isnull(areaid,'')='' then 1 else 0 end+
        case when isnull(sex,'')=''  then 1 else 0 end)
    from tb