Oracle-Decode-1

Oracle DECODE 函数运用

DECODE 函数格式如下:

decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

DECODE 函数是 Oracle 中最有特色的一个函数,DECODE()函数类似于程序中 if…else if …else if … else ,但是判断的内容都是一个具体的值。

上述的 decode 的表达式,具体的含义解释为:

1
2
3
4
5
6
7
8
9
10
IF 条件=值1 THEN
    RETURN(返回值1)
ELSIF 条件=值2 THEN
    RETURN(返回值2)
    ......
ELSIF 条件=值n THEN
    RETURN(返回值n)
ELSE
    RETURN(缺省值)
END IF

DECODE 常用操作如下

数值比较

1
2
3
4
5
6
SELECT DECODE(SIGN(50000 - 3000),
1,'3000以上',
-1,'3000以下',
0,'正好3000',
'未知')
FROM DUAL;

字符串是否存在

1
2
3
4
SELECT DECODE(INSTR('123132三123131231231', '三'), 
0, '姓名不含有三',
'姓名含有三')
FROM DUAL;

判空操作

1
2
3
4
SELECT DECODE(NULL,
NULL,'暂无数据',
'数据本身')
FROM DUAL;
Contents
  1. 1. Oracle DECODE 函数运用
    1. 1.1. DECODE 函数格式如下:
    2. 1.2. DECODE 常用操作如下
|