SQL中的空值的处理

作者在 2007-02-03 19:35:00 发布以下内容

null+任何所据都为 = null  
从逻辑上,这也与现实是也是相符的。如:张三有个银行账户,里面的值为Null;张三把这个银行账户给她老婆,就算他老婆有100块钱,我们也不可能知道她老婆到底有多少钱。
null=null 返回false    null is null 返回 true  (null) is (not null) 返回false

处理空值的函数: 
isnull(表达式或列,替代值)  如果第一个参数中的表达式,或列非空,就返回第一个参数值, 如果为空,就用第二个参数替代
nullif(参数1,参数2)   如果两个参数相等就会返回null ,如果不等就会返回第一个参数.
这两个是互为替换的函数, 简单的说,isnull就是把数据列中为空的值换成,换成一个常量值,用于程序显示。nullif()反之把常量值换成空值。
这两个函数不是 ANSI sql标准。
case
when 列或表达式 is null then 常量值
else 列或表达式
end                                            这个等价于, isnull()

case
when 列或表达式=常量值 then null
else 列或表达式
end                                          这个等价于,nullif()
这里所说的常量值, 就是 用来表示空值的值。 我们一般用 'none'  ''  'n/a'  字符常量来表示空值。

默认分类 | 阅读 4518 次
文章评论,共0条
游客请输入验证码
浏览15247次
文章分类
最新评论