Oracle中遇到的函数-2021/04/29

Oracle中遇到的函数-2021/04/29
1.在sql中,case
when then
else
end as
用法:有一张学生-分数表 student_score

name score
张三 61
李四 40
王五 98
select name,
case
when score < 60 then ‘不及格’
when score < 90 then ‘及格’
else ‘优秀’
end as rank
from student_score

结果为

name rank
张三 及格
李四 不及格
王五 优秀

2.截取函数:substr(字符串,从第几个开始截,截取长度)
例如:substr(pch,27,8)
3.decode()函数
Select decode(columnname,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值)
From talbename
Where …
解释:
decode(条件,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值)的理解如下:
if (条件值1)
then    
return(翻译值1)
elsif (条件
值2)
then    
return(翻译值2)    

elsif (条件==值n)
then    
return(翻译值n)
else    
return(缺省值)
end if
4.NVL2(函数)
NVL2(EXPRE1,EXPRE2,EXPRE3)
表示 : 如果1为空则显示2,不为空则显示expre3;
Eg:NVL2(NULL,’33’,’TEST’);
返回结果:33
注意:NVL2要求第三个参数类型可以转为第二个参数类型
5.NVL函数
使用NVL为了返回一个非空值
例子:NVL(value1,value2)
当value1值为空时,使用value2值,
当value1值不为空,返回使用value1值
6.rowidtochar使用
rowidtochar(rowid)
ROWIDTOCHAR(rowid)
【功能】转换rowid值为varchar2类型
【参数】rowid,固定参数【返回】返回长度为18的字符串
【示例】SELECT ROWIDTOCHAR(rowid) FROM DUAL;
【说明】在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,
rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会相同.
7.EXISTS函数运用
EXISTS 函数用于判断查询子句是否有记录,有则返回Ture,没有返回False
select 列名 from 表名 where exists (select 列名 from 表名 where 判断条件)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值