使用Oracle的Decode函数进行多值判断

时间:2024-01-28 09:12:54 

Decode函数的语法结构如下:


decode (expression, search_1, result_1)
decode (expression, search_1, result_1, search_2, result_2)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)

decode (expression, search_1, result_1, default)
decode (expression, search_1, result_1, search_2, result_2, default)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)

decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
以下是一个简单测试,用于说明Decode函数的用法:


SQL> create table t as select username,default_tablespace,lock_date from dba_users;

Table created.

SQL> select * from t;

USERNAME                       DEFAULT_TABLESPACE             LOCK_DATE
------------------------------ ------------------------------ ---------
SYS                            SYSTEM
SYSTEM                         SYSTEM
OUTLN                          SYSTEM
CSMIG                          SYSTEM
SCOTT                          SYSTEM
EYGLE                          USERS
DBSNMP                         SYSTEM
WMSYS                          SYSTEM                         20-OCT-04

8 rows selected.


SQL> select username,decode(lock_date,null,"unlocked","locked") status from t;

USERNAME                       STATUS
------------------------------ --------
SYS                            unlocked
SYSTEM                         unlocked
OUTLN                          unlocked
CSMIG                          unlocked
SCOTT                          unlocked
EYGLE                          unlocked
DBSNMP                         unlocked
WMSYS                          locked

8 rows selected.

SQL> select username,decode(lock_date,null,"unlocked") status from t;

USERNAME                       STATUS
------------------------------ --------
SYS                            unlocked
SYSTEM                         unlocked
OUTLN                          unlocked
CSMIG                          unlocked
SCOTT                          unlocked
EYGLE                          unlocked
DBSNMP                         unlocked
WMSYS

8 rows selected.

标签:Decode,多值判断
0
投稿

猜你喜欢

  • 使用OpenCV为图像加水印的教程

    2022-08-17 10:24:33
  • python3 实现自定义切片类为左闭右闭详情

    2022-11-02 11:36:51
  • 10个python爬虫入门实例(小结)

    2021-04-21 01:08:57
  • 深入理解Go语言中的数组和切片

    2024-02-04 05:09:54
  • Keras中的多分类损失函数用法categorical_crossentropy

    2023-06-23 12:25:37
  • 分享Pytest fixture参数传递的几种方式

    2023-06-15 01:25:28
  • 利用Python程序读取Excel创建折线图

    2021-05-29 00:36:33
  • 几个javascript显示加载进度条代码

    2008-01-19 10:52:00
  • python+matplotlib演示电偶极子实例代码

    2021-07-09 12:52:35
  • python数字图像处理之基本图形的绘制

    2021-10-21 05:29:42
  • Git的简单理解及基础操作命令详解

    2023-01-17 11:03:35
  • Python 函数list&read&seek详解

    2022-02-14 03:04:21
  • python读取xml文件方法解析

    2021-04-25 03:53:45
  • JS实现十字坐标跟随鼠标效果

    2024-04-22 22:43:00
  • Java使用JDBC连接数据库的实现方法

    2024-01-25 15:38:47
  • 教你利用Selenium+python自动化来解决pip使用异常

    2022-11-17 18:49:08
  • sqlplus登录\\连接命令、sqlplus命令的使用大全

    2023-07-01 08:16:31
  • 如何将JSP/Servlet项目转换为Spring Boot项目

    2023-06-19 16:23:06
  • button标签的type属性默认值是?

    2010-08-16 12:33:00
  • 关于pip的安装,更新,卸载模块以及使用方法(详解)

    2022-03-15 07:21:36
  • asp之家 网络编程 m.aspxhome.com