oracle中decode函数用法(decode和nvl的用法)
本文目录
decode和nvl的用法
DECODE函数DECODE是Oracle公司独家提供的功能,它是一个功能很强的函数。它虽然不是SQL的 标准,但对于性能非常有用。到目前,其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准。实际 上,这种批评有些片面或不够水平。就象有些马车制造商抱怨亨利。福特的“马车”不标准一样。1 DECODE 中的if-then-else逻辑在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。它的语法如下:DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。需要注意的是,这里的if、then及else 都可以是函数或计算表达式。含义解释: DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)该函数的含义如下:IF 条件=值1 THENRETURN(翻译值1)ELSIF 条件=值2 THENRETURN(翻译值2)......ELSIF 条件=值n THENRETURN(翻译值n)ELSERETURN(缺省值)END IFnvl NVL函数完成了一个简单但有用的功能。任何时候给它一个空值,它都返回一个你所选择的值。这种能够自动替换空值的能力有助于提供看上去更为完善的输出。NVL函数的语法如下: NVL(input_source,result_if_input_value_is_null) 其中input_source一般是一个列名。result_if_input_value_is_null 可以是任何值:直接值(即硬编码)、对其他列的引用或者表达式注意:NVL函数实际上并不是更新表中的值。原数据仍保持不变。
oracle中decode函数有什么用
DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于SQL的其它函数,DECODE函数还能识别和操作空值.其具体的语法格式如下:DECODE(input_value,value,result);其中:input_value试图处理的数值。DECODE函数将该数值与一系列的序偶相比较,以决定最后的返回结果value是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应result是一组成序偶的结果值default_result未能与任何一序偶匹配成功时,函数返回的默认值下面的例子说明了,如何读取用户CHECKUP表SEAPARK中的BLOOD_TEST_FLAG列下的项目,作为DECODE函数的实参支持值。SELECTcheckup_type,DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid’)FROMcheckup;
请教sql decode函数的一个简单用法
首先decode函数是Oracle独有的判断函数!
//其实就是一个简单的判断函数,比如字段的值为adecode(字段,’a’,’输出是a’,’是a’,’输出是b’,’否则输出都不是’);//下面我拿EMP表的SCOTT来示例代码:SELECT DECODE(ename,’是SCOTT’,’Yes’,’不是SCOTT’,’No’,’都不是’)FROM emp WHERE ename = UPPER(’scott’);
如何使用Oracle的Decode函数进行多值判断
select decode(’苹果’,’苹果’,1,’梨子’,2,0) from dual;结果为:1select decode(’梨子’,’苹果’,1,’梨子’,2,0) from dual;结果为:2select decode(’橘子’,’苹果’,1,’梨子’,2,0) from dual;结果为:0
第一个参数是需要比较的值,第二个,第四个,是匹配值,匹配成功第二个则输出1,匹配成功第四个输出2,都没匹配输出0
更多文章:
电影api免费接口(API是作什么用的,每台电脑都有吗没有它会怎样谢谢!)
2024年6月29日 11:31
termux使用教程python(termux敲完代码去哪里看运行结果图像)
2024年7月22日 01:30
if if else怎么执行(想请教c语言这种if--else语句如何执行假如: int a=0; if(a==0) {a=1;执行)
2024年7月19日 15:30
java运行软件放固态盘吗(买办公电脑 做java开发用 我应该怎么选电脑,以内存为主还是cpu为主,还是固态硬盘为主最好是)
2024年9月9日 06:15
架构师工资一月多少(如何从三流程序员成长为年薪50W的架构师)
2024年6月29日 03:44
plsqldeveloper使用教程(怎么使用plsql developer)
2024年5月15日 10:55
runtime error 错误怎么解决(游戏途中出现runtimeerror怎么解决)
2024年7月9日 04:05
vlookup根据姓名匹配学号(excel按照姓名自动匹配数据)
2024年7月3日 08:44
advisable(advisable和available的区别)
2024年7月16日 23:26
伟福编译器下载(有谁用过伟福单片机编译器啊我在编译时总是出现“列表文件<.LST>未找到.这是怎么回事啊,)
2024年5月18日 00:55
python是什么东西(Python最近听说又火了一把,人工智能到底是个什么东西呢)
2024年7月3日 20:49
power bi官网首页(PowerBI官方授权账号,近万人注册成功!)
2024年6月29日 02:36