1.NULL空值概念

数据库里有一个很重要的概念:空值即NULL。有时表中,更确切的说是某些字段值,可能会出现空值, 这是因为这个数据不知道是什么值或根本就不存在。

2.NULL空值判断

空值不等同于字符串中的空格,也不是数字类型的0 。因此,判断某个字段值是否为空值时不能使用=,<>,in,not in这些判断符,如果非要用的话,可以用NVL(column_name,'sfd')<>'4'表示就可以了。必需有专用的短语:IS NULL 来选出有空值字段的记录,同理,可用 IS NOT NULL 选出不包含空值的记录。如:

SELECT *FROM party WHERE leader IS NULL;

SELECT *FROM party WHERE leader IS NOT NULL;

3.空值转换

Oracle :
Nvl
NVL函数: NVL函数是将NULL值的字段转换成默认字段输出。

NVL(expr1,expr2)
expr1,需要转换的字段名或者表达式。
expr2,null的替代值

下面是NUMBER, DATE, CHAR OR VARCHAR2的例子:
NVL(commission_pct,0)
NVL(hire_date,'01-JAN-97')
NVL(job_id,'No Job Yet')

Sql Server:
IsNull: 如果是Null,就返回指定的值,否则返回原值。
select userName,IsNULL(address,'无') from [user]...
------------------------------------------------------------------
NullIF 会在两个值(或者表达式)相等的时候返回null,否则返回第一个参数。
select Sum(NullIf(price,100)) from ...
如果价格是100,就当null处理,sum()会忽略null值,所以...
----------------------------------------------------------------------
COALESCE 会返回第一个非空的值,参数是任意多个。
select Coalesce(homephone,officePhone,mobile) from....
只要有一个电话号码被填写了,就一定会返回一个值。
-----------------------------------------------------------------------
Access:
Nz
同Sql Server IsNull。只能在Access程序中使用,Jet ADO不支持
select userName,Nz(address,'无') from [user]...
IIF
select userName,IIF(address is null,'无',address) from [user]...

select userName,IIF(address is null,'没写','写了') from [user]...

本文转自:http://blog.sina.com.cn/s/blog_573a052b0100fu0d.html

最新文章

  1. Weblogic集群
  2. js跳转到新页面传参以及接收参数的方法
  3. Linux下pdf阅读器推荐
  4. PMP 第三章 单个项目的项目管理标准
  5. Physx入门
  6. 第七节 JBPM 中的脚本语言
  7. codeforces 385 c
  8. NPOI 导入,导出EXCEL
  9. HDU5002 Tree(LCT)
  10. Elasticsearch的使用场景深入详解
  11. [转载] Hibernate与 MyBatis的比较
  12. 深入浅出了解OCR识别票据原理
  13. 【BZOJ4013】[HNOI2015]实验比较(动态规划)
  14. app前端代码打包步骤
  15. hive数据类型
  16. Extjs MVC模式开发,循序渐进(一)
  17. windows下php7.1安装redis扩展以及redis测试使用全过程(转)
  18. vue在页面嵌入别的页面或者是视频2
  19. Ubuntu 16.04安装Pycharm2017.1.1
  20. PhpStorm 不停地 updating indices

热门文章

  1. PHP实现链表
  2. IIS6.0 开启Gzip与PHP Gzip
  3. Servlet对文件的读写操作
  4. 数组根据index拆分和查询下标
  5. Iocomp控件教程之Pie Chart——饼状图控件
  6. vue - 使用axios
  7. java 和 C# 响应输出的相似度
  8. honeyd蜜罐配置和web监听脚本
  9. Android系统示例分析之AccelerometerPlay
  10. ECMAScript和JavaScript的区别,ECMAScript发展更新历史,ECMAScript5和ECMAScript6的新特性及浏览器支持情况,ECMAScript 5/ECMAScript 2015正式发布