| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,外语很重要,最新的编程技术还是在国外  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 数据库 >> SQL语法 >> 文章正文
sqlserver 空值判断和空值返回值 isnull 和 is null            【字体:
sqlserver 空值判断和空值返回值 isnull 和 is null
作者:fengyun    文章来源:本站原创    点击数:    更新时间:2007-3-29

ISNULL

使用指定的替换值替换 NULL。

语法

ISNULL ( check_expression , replacement_value )

参数

check_expression

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

replacement_value

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

返回类型

返回与 check_expression 相同的类型。

注释

如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value

示例
A. 将 ISNULL 与 AVG 一起使用

下面的示例查找所有书的平均价格,用值 $10.00 替换 titles 表的 price 列中的所有 NULL 条目。

USE pubs
GO
SELECT AVG(ISNULL(price, $10.00))
FROM titles
GO

下面是结果集:

-------------------------- 
14.24                      

(1 row(s) affected)
B. 使用 ISNULL

下面的示例为 titles 表中的所有书选择书名、类型及价格。如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00。

USE pubs
GO
SELECT SUBSTRING(title, 1, 15) AS Title, type AS Type, 
   ISNULL(price, 0.00) AS Price
FROM titles
GO

下面是结果集:

Title           Type         Price          
--------------- ------------ -------------------------- 
The Busy Execut business     19.99                      
Cooking with Co business     11.95                      
You Can Combat  business     2.99                       
Straight Talk A business     19.99                      
Silicon Valley  mod_cook     19.99                      
The Gourmet Mic mod_cook     2.99                       
The Psychology  UNDECIDED    0.00                       
But Is It User  popular_comp 22.95                      
Secrets of Sili popular_comp 20.00                      
Net Etiquette   popular_comp 0.00                       
Computer Phobic psychology   21.59                      
Is Anger the En psychology   10.95                      
Life Without Fe psychology   7.00                       
Prolonged Data  psychology   19.99                      
Emotional Secur psychology   7.99                       
Onions, Leeks,  trad_cook    20.95                      
Fifty Years in  trad_cook    11.95                      
Sushi, Anyone?  trad_cook    14.99                      

(18 row(s) affected)

IS [NOT] NULL

确定一个给定的表达式是否为 NULL。

语法

expression IS [ NOT ] NULL

参数

expression

是任何有效的 Microsoft® SQL Server™ 表达式。

NOT

指定布尔结果取反。谓词反转其返回值,值不为 NULL 时返回 TRUE,值为 NULL 时返回 FALSE。

结果类型

布尔型

返回代码值

如果 expression 的值是 NULL,则 IS NULL 返回 TRUE;否则,返回 FALSE。

如果 expression 的值是 NULL,则 IS NOT NULL 返回 FALSE;否则,返回 TRUE。

注释

若要确定表达式是否为 NULL,请使用 IS NULL 或 IS NOT NULL,而不要用比较运算符(例如 = 或 !=)。如果有一个参数为 NULL 或两个参数都为 NULL,那么比较运算符返回 UNKNOWN。

示例

在下面的示例中,对于所有预付款少于 $5,000 或者预付款未知(或为 NULL)的书,返回它们的书号及预付款。请注意,显示的结果是在示例 C 执行后所返回的那些结果。

USE pubs
SELECT title_id, advance
FROM titles
WHERE advance < $5000 OR advance IS NULL
ORDER BY title_id

下面是结果集:

title_id advance                    
-------- -------------------------- 
MC2222   0.0000                     
MC3026   NULL                       
PC9999   NULL                       
PS2091   2275.0000                  
PS3333   2000.0000                  
PS7777   4000.0000                  
TC4203   4000.0000                  

(7 row(s) affected)
 
文章录入:fengyun    责任编辑:fengyun 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • Sql Server基本函数

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |