作者在 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' 字符常量来表示空值。