当前位置:数据库 > SQL语言> 正文

SQL中null空值怎么用

时间:2013-9-12类别:数据库

SQL中null空值怎么用

SQL中null空值怎么用

在 SQL 语句中, NULL 值与字符列中的空格, 数字中的零, 字符列中的 NULL ASCII 字符都不相同。

在sql中null是一种数据类型,null不能与任何列或者变量使用"="或者"!="去比较,判断某列或者变量为null是只能用is (not) null 去判断这样他的返回值才是true或者false。

 

一、关于null的运用

 

  • 1、NULL值与索引
  •  
  • 如果一个列中有NULL值,那么不可以在这个列上建唯一索引,可以建立非唯一索引;但是如果一个字段有很多行有NULL值,那么在这个字段上建索引效果不佳。所以建议不在在一个频繁出现NULL值的字段上建索引。
  •  
  •  
  • 2、NULL与排序
  •  
  • NULL参与排序时总是作为最小值存在,即ORDER BY COL ASC时COL为NULL的行在最前面,反之在最后面。
  •  
  •  
  •  
  • 二、IsNull的用法:使用指定的替换值替换 NULL。
  •  
  • 语法


    ISNULL ( check_expression , replacement_value )

    参数


    check_expression

    将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。

    replacement_value

    在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。

     

    返回类型


    返回与 check_expression 相同的类型。 如果文字 NULL 作为 check_expression 提供,则返回 replacement_value 的数据类型。 如果文字 NULL 作为 check_expression 提供并且未提供 replacement_value,则返回 int

     

    注释


    如果 check_expression 不为 NULL,则返回它的值;否则,在将 replacement_value 隐式转换为 check_expression 的类型(如果这两个类型不同)后,则返回前者。 如果 replacement_valuecheck_expression 长,则可以截断 replacement_value

     

    isNull实例:

  •  
  • 
    USE AdventureWorks2012;
    GO
    SELECT AVG(ISNULL(Weight, 50))
    FROM Production.Product;
    GO
    
    			
  • 注意:

    请勿使用 ISNULL 查找 NULL 值。 而应使用 IS NULL。 下面的示例查找 weight 列中存在 NULL 的所有产品。 请注意 ISNULL 之间的空格。例如;

  • 
    USE AdventureWorks2012;
    GO
    SELECT Name, Weight
    FROM Production.Product
    WHERE Weight IS NULL;
    GO
    
    			
  •  

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐