oracle 常用函数nvl decode userenv greatest least

本文介绍了如何使用NVL函数处理SQL中的NULL值,并通过实例展示了如何转换字段内容,例如将职务字段转换为中文显示,以及如何使用DECODE函数实现这一目标。此外,还讲解了如何比较字符串大小并获取最大值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[img]http://dl.iteye.com/upload/attachment/566947/31bb4aad-2afc-33c6-919f-f37b336c4440.png[/img]

如下3个函数,分别用新内容代替字段的空值://比如说用其他值来代替
nvl(comm, 0):用0代替空的Comm值。
nvl(hiredate, '01-1月-97'):用1997年1月1日代替空的雇佣日期。
nvl(job, '无'):用“无”代替空的职务。

【训练1】 将职务转换成中文显示。//decode最后个参数表示default情况
执行以下查询:
SELECT ename,decode(job, 'MANAGER', '经理', 'CLERK','职员', 'SALESMAN','推销员', 'ANALYST','系统分析员','未知') FROM emp;
结果为:
ENAME DECODE(JOB
-------------- ------------------------
SMITH 职员
ALLEN 推销员
WARD 推销员
JONES 经理
【训练2】 比较字符串的大小,返回最大值。
执行以下查询:
SELECT greatest('ABC','ABD','abc', 'abd') FROM dual;
执行结果为:
GRE
------
abd
说明:在上述四个字符串中,大小关系为abd>abc>ABD>ABC。在ASCII码表中,排在后边的字符大,小写字母排在大写字母之后。字符串的比较原则是,先比较第一位,如果相同,则继续比较第二位,依此类推,直到出现大小关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值