文档章节

Oracle中decode函数的使用

o
 osc_z1hvg4cu
发布于 2018/04/24 18:40
字数 266
阅读 7
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

Oracledecode函数的使用

decode 的几种用法

1.使用decode判断字符串是否一样

DECODE(value,if 条件1,then 值1,if 条件2,then 值2,...,else 其他值)

Sql测试:

select aac001,decode(aac001,'0000000001','林海燕','0000000002','陈德财','others') as name from ac01 where rownum<=5;

输出结果:

 

  1. 使用decode判比较大小

Select decode(sign(var1-var2),1,var1,var2) from dual

Sign()函数根据某个值是0、正数、负数,分别返回0、1、-1;

Sql测试:

Select decode(sign(100-90),1,100,90) from dual

输出结果 100

100-90=10>0则sign()返回1,decode()函数取值var1=100

Select decode(sign(100-90),-1,100,90) from dual

输出结果:90

100-90=10>0则sign()返回1,decode()函数取值var2=100

 

  1. 使用decode函数分段

工资大于10000为高薪,工资介于5000到10000为中等,工资小于5000位低薪

 

 

Sql测试:

SELECT

ename,sal,

DECODE(SIGN(sal-10000),1,’高薪’,0,’高薪’,

-1,DECODE(SIGN(sal-5000),1’中等’,0,’中等’,

-1,’低薪’))) from ac01

 

输出结果:

李明 12000 高薪

张三 5000 中等

王五 3000 低薪

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Oracle行转列操作

有时候我们在展示表中数据的时候,需要将行转为列来显示,如以下形式: 原表结构展示如下: --------------------------- 产品名称 销售额 季度 --------------------------- 奶酪 50 第一季...

osc_bkdv2it5
2019/08/19
0
0
mysql 分情况显示

问题:mysql 根据不同情况显示不同结果 oracle 中有decode 可以很方便的根据不用情况显示 但是mysql 没有decode 函数,这时另外一个函数进入视野:case when then else end 此函数oracle 和m...

stayStand
2019/08/26
11
0
Oracle基于延时的盲注总结

0x00 前言 oracle注入中可以通过页面响应的状态,这里指的是响应时间,通过这种方式判断SQL是否被执行的方式,便是时间盲注; oracle的时间盲注通常使用DBMSPIPE.RECEIVEMESSAGE(),而另外一...

osc_zuzeo6xq
2019/05/30
15
0
Oracle中字符串连接的实现方法

1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样。 例如: SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Emplo...

osc_kfnbvkb9
2019/03/21
1
0
Oracle decode函数

decode函数在Oracle SQL查询语句中的使用非常广泛,也经常应用到PL/SQL语句块中。 1,decode()函数语句的基本表达式是:   decode(expr1,expr2,expr3,[expr4])   这个表达式个人理解,可...

osc_zftuyca9
2018/08/15
9
0

没有更多内容

加载失败,请刷新页面

加载更多

SO_REUSEADDR和SO_REUSEPORT有何不同? - How do SO_REUSEADDR and SO_REUSEPORT differ?

问题: The man pages and programmer documentations for the socket options SO_REUSEADDR and SO_REUSEPORT are different for different operating systems and often highly confusing.......

法国红酒甜
今天
28
0
asp.net core之SignalR

SignalR 是什么? ASP.NET Core SignalR 是一个开源的实时框架,它简化了向应用中添加实时 Web 功能的过程。 实时 Web 功能是服务器端能够即时的将数据推送到客户端,而无需让服务器等待客户端...

一介草民Coder
今天
24
0
如何通过日期属性对数组进行排序 - How to sort an array by a date property

问题: Say I have an array of a few objects: 说我有一些对象的数组: var array = [{id: 1, date: Mar 12 2012 10:00:00 AM}, {id: 2, date: Mar 8 2012 08:00:00 AM}]; How can I sort......

javail
今天
22
0
技术教程| 百度鹰眼历史轨迹查询:轨迹抽稀功能

本文作者:用****9 本篇教程中,我们将详细地说明鹰眼历史轨迹查询(gettrack接口)中,如何通过vacuate_grade选项对轨迹进行抽稀,以及不同的抽稀力度对轨迹产生的影响。 上一篇教程中,我们...

百度开发者中心
前天
24
0
Quartz的Misfire处理规则 错过任务执行时间的处理机制

调度(scheduleJob)或恢复调度(resumeTrigger,resumeJob)后不同的misfire对应的处理规则 CronTrigger withMisfireHandlingInstructionDoNothing ——不触发立即执行 ——等待下次Cron触发频率...

独钓渔
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部