兔源码网 - 专注DZ模版分享、DZ插件分享!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)皆为提供免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需充值兔币购买会员组方可下载),用户仅需手动前往【申请下载权限】申请用户组下载权限即可,如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

Oracle数据库中如何表示未知的值呢?

[复制链接]
tuyuanma 发表于 2017-4-6 11:14:40 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


数据库中如何表示未知的值呢?答案是使用一个特殊的值,我们称之为空值(null)。空值并不是一个空字符串,而是一个特殊的值。空值就表示该列的值未知。当选择一个包含空值的列时,看到的结果是该列中不包含任何内容。在前面从customers表中查询行时,就已经看到了这一点(或者说根本看不到内容):顾客#4的dob列是空值,顾客#5的phone列也是空值。
- t4 V+ q7 s! `在SELECT语句中,也可以使用IS NULL来检查空值。下面的例子就以“dob列为空”可以检索顾客#4的记录:
* P7 f& ]3 D+ g" i1 Y4 n- L+ n* |" k/ i9 X/ E, I$ }" R
SELECT customer_id,first_name,last_name,dob
' s2 Q& Z+ w. V) P, k
FROM customers6 `; d; J9 Z* t: H/ m4 m
WHERE dob IS NULL;7 T1 c: k  A( ~" Z  \7 o
1-13112G35322411.jpg
  j/ v$ a, E9 D6 z
( ?) ], x. Y% Z' V在下面这个例子中,使用的条件是“phone列为空”可以查询出顾客#5的记录:+ f0 J# y* a6 f; Y, q0 j
; Z# D" v+ M& _" k6 {
SELECT customer_id,first_name,last_name,dob

- [6 `6 L" _+ D$ ^% X! J+ IFROM customers
$ A( ^; f9 L6 y/ O$ @6 U( a: q! e* r5 [WHERE phone IS NULL;
; x  Q/ ?$ }) E! m 1-13112G3533W64.jpg 1 x' f" n4 U0 e3 d/ t0 t
既然空值不会显示任何内容,那么在检索所有行时又如何区分空值和空字符串呢?答案是使用Oracle内置的一个函数NVL()。NVL()函数可以将空值转换成另外一个可以真正理解的值,NVL()函数可以接受两个参数:列(或者更确切的说是可以返回一个值的任意表达式)和一个值,如果第一个参数是空值,就将其替换成第二个参数的值,下面举例进行说明,NVL()函数将phone列的一个空值转换为字符串“Unknown phone number”  D9 ?* h* \/ U

  ^% z+ e* l8 V' OSELECT customer_id,first_name,last_name,dob
0 N5 O1 r2 u* Y. q+ rNVL(phone,'Unknown phone number') AS PHONE_NUMBER
: H- n' B4 w- G/ tFROM customers;; O: I5 w, F/ c+ \9 u% E
1-13112G354464F.jpg 0 q# m9 _! T$ T7 U; W
NVL()函数除了用于转换包含空值的字符串列之外,还可以用于转换数字列和日期列。: J0 a- R: k7 I. S  q8 m: o

  V7 I: T1 m, i- z! _8 j$ e& ?. w

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告

兔源码网 ( 赣ICP备17001544号 公网安备36112102000036号 )

兔源码 QQ交流群:493651246  GMT+8, 2019-6-18 02:58
←站长统计工具 查看密码:tuyuanma

兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386 网站地图

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

     
快速回复 返回顶部 返回列表