SELECT *
FROM EVA_CANDIDATES
WHERE (DIVISIONNM <> '1')这样写的话,,
那些 DIVISIONNM 为NULL的也没办法 选择出来
我想把除了DIVISIONNM = '1' 的都选出来,但是有问题
得怎么写呢?

解决方案 »

  1.   

    WHERE (isnull(DIVISIONNM,'') <> '1')
      

  2.   

    WHERE (DIVISIONNM <> '1' or DIVISIONNM is null)
      

  3.   

    SELECT *
    FROM EVA_CANDIDATES
    WHERE (DIVISIONNM <> '1') or DIVISIONNM  is null
      

  4.   

    想不能WHERE (DIVISIONNM <> '1')
      为什么NULL的没能出来
      

  5.   

    NULL是代表未知的,不能和DIVISIONNM 进行比较的,
      

  6.   

    在《SQL-3参考大全》中,作者这样解释NULL的含义:未知或未定义。对NULL来说,有很多有趣的特性。 NULL是一个数据值,而且它属于一个域(?)。是的,例如一个字符串字段,其中的空值只能是一个字符串。尽管它的内容没有定义,或者未知,但它是字符串,这一点无可置疑。 NULL不是非法数据,这一点SQL-3   标准也说的很清楚。我们没有办法保存零分之一,但可以保存空值。虽然它是空值,是未定义,是未知,可它也的确是   一个合法的信息。 运算黑洞:对于NULL,一般的运算都会返回NULL。比如加减乘除,这简直就是一个黑洞一样。永远不会有什么数据等于NULL。当然,1不等于NULL,2也一样。可是,NULL也不等于NULL。说一个NULL等于NULL是错误的。所以我们只能比较它“是”或“不是”。为了避免混乱,SQL-3标准有一些约定。比如表达式   x=NULL,结果应当是UNKOWN   。   而表达式“x   is   NULL”,就得看情况,如果x是NULL或   False,就返回Ture(?);x是非NULL,返回False。有点奇怪是不是,它基于NULL不等于NULL。   这个规则的确为SQL标准所支持,遇到这样的数据库系统,可不要感到惊讶。 三值逻辑:《鹿鼎记》中的韦小宝,整人的秘诀之一就是“我问你话,是就点头,不是就摇头,不许你出声!”的确,通常我们的逻辑观点,总是基于这种二值逻辑体系,对就是对,错就是错。可在关系理论中,没有这么简单。有一种没有绝对是非的情况存在:NULL。这就是关系理论的三值逻辑。 还有一些常见的与NULL相关的情况。比如,统计函数(也有的文档称之为聚集函数、集函数)通常会忽略NULL。不过,假设有这样一个表T: C ----- 1 2 NULL NULL 我们分别执行两个查询:SELECT   COUNT(*)   FROM   T和SELECT   COUNT(C)   FROM   T,   猜猜会有什么不同?起初,我以为两个结果应当一样。结果,前一个是4,后一个是2。前一个等于4,显然基于NULL也是数据这个事实;而后一个结果为2,是由于统计C列时,COUNT忽略了NULL。 
      

  7.   

    --try
    not DIVISIONNM = '1' 
    not DIVISIONNM = 1