Oracle中decode函数的用法解析

decode函数的两种形式

1. 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

​

2.decode(字段或字段的运算,值1,值2,值3)

这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3,当然值1,值2,值3也可以是表达式,这个函数使得某些SQL语句简单了。

sign()函数

sign()函数根据某个值是0、正数还是负数,分别返回0,1,-1。

示例:

select id,sign(id-2) from table;

 运行结果:

lpad()函数

在字段id前边补字段0且长度为2

select lpad(id,2,0) from table;

运行结果

decode函数的使用场景参考博客:https://blog.csdn.net/qichangjian/article/details/88975499

SQL功底在于平时的积累,后续会持续总结。

猜你喜欢

转载自blog.csdn.net/duan196_118/article/details/113030784