oracle里nvl,to_char,decode这些函数怎么用啊?

发布网友 发布时间:2022-04-23 14:30

我来回答

1个回答

热心网友 时间:2022-04-08 03:25

 
Oracle提供了一些逻辑判断函数,这些函数可以在查询中使用。
1.
nvl
:针对空值进行测试
   
函数原型为:NVL(testValue,SubstituteValue)
   
常见的用法是 
Select max(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. 示例如下:
若我们用Decode可以这样实现:
SELECT
class,
course,
       DECODE
(student,
               'A',
'Anco',
               'B',
'Bily',
               'C',
'Candy',
               'D',
'Davi',
               'E',
'Eve',
               'F',
'Fion'
              )
AS
en_name
  FROM
studentinfo
3.
to_char函数功能,就是将数值型或者日期型转化为字符型,转换过程中可以进行格式化处理,函数原型较多,示例如下:
 
 

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com