Oracle几个函数(自己没怎么用过)

trunc(列名,保留小数点以后的位数) ------------------------ 小数数字截取,不四舍五入             

    例子:trunc(32.475,2)==》32.47

sign(列名)------------------------------取数字的符号 ,大于零返回1,等于零返回0,小于零返回-1   

   例子:sign(-10)===》-1

decode(变量或表达式,假设值,返回值,假设值2,返回值2.。。。),根据需要返回想要显示的值。   

    例子:decode(1,1,'结果是1’,2,结果是2’,3,'结果是3') ===》'结果是1’

nvl(变量,值1,值2),如果变量是null返回值1,不是则返回值2

   例子:nvl(null,'yes','no')==》yes

pivot(聚合函数 for   列名   in(‘列值1’,‘列值2’,‘列值3’)) ,  行转列函数

   例子:有张表AA,字段有班级、科目、分数

现在根据科目行转列:select * from AA a pivot(sum(a.score) for subject in('语文' ,''数学' ,  '物理' ,'历史'));

结果:

unpivot(新列名   for     新列名2     in  (旧列名1,旧列名2。。)) --------列转行函数

例子:有一张表BB ,字段有id、shengfen(省份)、man(男)、woman(女)

现在根据男女性别列转行:select   id,shengfen,sex ,numb     from    BB    unpivot(numb    for    sex     in (man,woman));






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值