查出来的字段有些是NULL,现需要将为NULL的数据排除,
除了在查询条件中多加一个“IS NOT NULL”,
请问还有什么更简单的方法?SELECT [DataSourceID]
FROM [PageControl]
WHERE PageID = 'bec1f1b2-f2a5-45ff-a2cf-48f660b37b3a'
AND DataSourceID IS NOT NULL
去NULL

解决方案 »

  1.   

    也可以这样写,set ansi_nulls offSELECT [DataSourceID]
     FROM [PageControl]
     WHERE PageID='bec1f1b2-f2a5-45ff-a2cf-48f660b37b3a'
     AND DataSourceID!=null
      

  2.   

    如果你希望方便一点,就这样:
    --这样设置后,null也可以用来比较,否则只能用is not null
    set ansi_nulls off
     
    SELECT [DataSourceID]
     FROM [PageControl]
     WHERE PageID='bec1f1b2-f2a5-45ff-a2cf-48f660b37b3a'
     AND DataSourceID<>null
      

  3.   

    因为看 ISNULL()函数可以用NULL来替换其它值,所以想着是否也有一个函数用来去除NULL值,而不需要多加一个where条件;
    其实没有什么特殊的要求,
    只是因为突然想到,所以才提出来的。
    嘿嘿……
    非常感谢各位的解答
      

  4.   

    isnull(字段,'')<>''
    或者
    isnull(字段,-1)<>-1
      

  5.   

    如果要改,当然可以用isnull()
    比如
    update tb
    set a=isnull(a,'默认值')
    where a is null
      

  6.   

    这个也可以的,也可以替换的。select isnull(字段名,替换值) from A
      

  7.   

    因为看 ISNULL()函数可以用NULL来替换其它值,所以想着是否也有一个函数用来去除NULL值,而不需要多加一个where条件;
    其实没有什么特殊的要求,
    只是因为突然想到,所以才提出来的。
    嘿嘿……
    非常感谢各位的解答如果要查询,还是必须得用where条件的,除非,你预先把null值都替换为非null的值
      

  8.   

    因为看 ISNULL()函数可以用NULL来替换其它值,所以想着是否也有一个函数用来去除NULL值,而不需要多加一个where条件;
    其实没有什么特殊的要求,
    只是因为突然想到,所以才提出来的。
    嘿嘿……
    非常感谢各位的解答如果要查询,还是必须得用where条件的,除非,你预先把null值都替换为非null的值嗯,根据大家提出的解决办法,看来是必须要将它作为一个查询条件来过滤的。
    感谢各位的解答!