where 字段名 is null

解决方案 »

  1.   

    where 字段名 is null  or 字段名 = ''
      

  2.   

    错。
    在 ms sql:
    where 段名= null
      

  3.   

    “为空”是什么概念?是null 还是=0?
    是否只列出“为空”的字段,而不是select * ?
    如果这样的话,看来你的数据库得要重新设计了,否则是很困难的。记录和字段的含义是不同的。如果是在SQL SERVER或Orcale,这个问题还是好解决,但是VFP就不行了。
    基本思路是这样的:
    1)循环,得到值全为空的字段名
    2)将这些字段名组成一个SQL语句
    3)执行这个SQL   
      

  4.   

    三个问题,
    1。标追sql中,肯定是 “字段 is NULL”   格式判断,所以ms sql也应该支持
    2. 叫法问题,把一个Relation看作Table则attribute叫列,对于一个元组,叫字段;对于relation叫attribute( 属性);实际中,这些叫法都没错。
    3. 字段='' 和 字段 is NULL  的含义绝对不同,不要混淆。前者成立,则肯定不空,这两个条件整个就互斥
      

  5.   

    to wwq_jeff
      如何循环判断得到一列是全空的字段名呢?。
      我的这些字段是字符型的,所以null和“”对我没什么大的区别,
      谢谢  
      

  6.   

    to wwq_jeff
       我是要得到某几个列,其中所有字段都是null,谢谢
      

  7.   

    如果你的VFP可以得到该表的所有字段,则很简单的。
    (在SQL SERVER 中,select name from syscolumns where id = object_id(n'[dbo].[tablename]')
    strfields = ""
    for i = 1 to n 
       strsql = " select " & fieldname(i) & " from  tablename  where " & fieldname(i) & " <> '' and (not " & fieldname(i) & " is null ) " 
       set rs = nothing
       set rs = cn.execute (strsql)    if rs.rowcount = 0 then 
            strfields = iif(len(strfields)>0,strfields & "," & fieldname(i),fieldname(i))
        end ifnext
       strsql = "select  " & strfields & " from tablename " 
       set rs = cn.execute(strsql)
    注:我写的是VB代码,在VFP中需要更该一下的,但原理一样。