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

    xiaoxiao2021-03-25  124

    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));

    转载请注明原文地址: https://ju.6miu.com/read-8599.html

    最新回复(0)