oracle语句增加逻辑判断-很实用
发布时间:2020-12-12 16:23:09 所属栏目:百科 来源:网络整理
导读:Oracle提供了一些逻辑判断函数,这些函数可以在查询中使用。 1,针对空值进行测试-NVL函数 函数原型为:NVL(testValue,SubstituteValue) 常见的用法是 Selectmax(score) From SC Where Name=‘Jerry’ 有时max(score)为空,也就是说Jerry并没有考试记录,这
Oracle提供了一些逻辑判断函数,这些函数可以在查询中使用。
1,针对空值进行测试-NVL函数
函数原型为:NVL(testValue,SubstituteValue)
常见的用法是 Selectmax(score) From SC Where Name=‘Jerry’
有时max(score)为空,也就是说Jerry并没有考试记录,这时我们用"No Record"标注一下:
Select NVL(max(score),"No Record") From SC;
还有一个NVL2函数跟其相似,函数原型为: NVL(testValue,SubValue1,SubValue2)
NVL2函数实现的是若testValue为NULL,返回SubValue1,否则返回SubValue2。
2,更广泛意义上的测试-Decode函数
Decode函数的原型为: Decode(testValue,if1,then1,if2,then2.....else).
针对testValue进行测试,若testValue等于if1则返回then1,若testValue等于if2则返回then2,....若都没有返回,刚返回else.
常见用法是在Oracle中实现行转列(Convert Rows to Columns).
CLASSCOURSESTUDENT
----- ------ ------ 11 Engish D 11 Engish F 11 Engish E 11 Math F 11 Math D 22 Engish C 22 Engish B 22 History A 22 History B 22 Math B 22 Math C 我想针对知道11和22班选修English,Math,History各有多少名同学。 |