Oracle case when用法

CASE表达式可以在SQL中实现if-then-else型的逻辑,而不必使用PL/SQL。CASE的工作方式与DECODE()类似,但应该使用CASE,因为它与ANSI兼容。 注意点: 1、以CASE开头,以END结尾 2、分支中WHEN后跟条件,THEN为显示结果 3、ELSE为除此之外的默认情况,类似于高级

CASE表达式可以在SQL中实现if-then-else型的逻辑,而不必使用PL/SQL。CASE的工作方式与DECODE()类似,但应该使用CASE,因为它与ANSI兼容。
注意点:

  1、以CASE开头,以END结尾

  2、分支中WHEN后跟条件,THEN为显示结果

  3、ELSE为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加

  4、END后跟别名

  CASE有两种表达式:

  1.简单CASE表达式,使用表达式确定返回值.

  语法:

  CASE search_expression

  WHEN expression1 THEN result1

  WHEN expression2 THEN result2

  …

  WHEN expressionN THEN resultN

  ELSE default_result

  END

  例:

  select product_id,product_type_id,

  case product_type_id

  when 1 then ‘Book’

  when 2 then ‘Video’

  when 3 then ‘DVD’

  when 4 then ‘CD’

  else ‘Magazine’

  end

  from products

  结果:

  PRODUCT_ID PRODUCT_TYPE_ID CASEPROD

  ———- ————— ——–

  1               1                             Book

  2               1                             Book

  3               2                              Video

  4               2                             Video

  5               2                             Video

  6               2                            Video

  7               3                             DVD

  8               3                             DVD

  9               4                              CD

  10               4                               CD

  11               4                             CD

  12                                            Magazine

  12 rows selected.

  2.搜索CASE表达式,使用条件确定返回值.

  语法:

  CASE

  WHEN condition1 THEN result1

  WHEN condistion2 THEN result2

  …

  WHEN condistionN THEN resultN

  ELSE default_result

  END

  例:

  select product_id,product_type_id,

  case

  when product_type_id=1 then ‘Book’

  when product_type_id=2 then ‘Video’

  when product_type_id=3 then ‘DVD’

  when product_type_id=4 then ‘CD’

  else ‘Magazine’

  end

  from products

  结果与上相同.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1702305.html

(0)
上一篇 2025年2月19日 14:52:27
下一篇 2025年2月19日 14:52:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用PHP开发web应用程序有哪些优势

    PHP在Web应用程序开发中的优势:1. 开源免费;2. 易于学习;3. 丰富的库和框架;4. 跨平台兼容性;5. 与数据库无缝集成;6. 高效性能;7. 庞大的社区支持;8. 广泛的行业应用。 PHP开发Web应用程序的优势 PHP作为一…

    2025年2月23日
    100
  • Oracle中如何更新一张大表记录

    我们要看到Oracle Update的另一个方面,就是Undo、Redo和进程工作负载的问题。熟悉Oracle的朋友们知道,在DML操作的时候,Undo和 sql语句是一种方便的语言,同样也是一种“迷惑性”的语言。这个主要体现在它的集合操作…

    数据库 2025年2月23日
    100
  • Win10远程连接提示函数错误怎么办 Win10远程连接提示函数错误解决方法

    win10远程连接函数错误无法连接?当您在尝试远程连接windows 10电脑时遇到函数错误,这可能会阻碍您的连接尝试。如果您遇到此问题,请继续往下阅读,了解php小编香蕉提供的详细解决方案。本文将逐步指导您解决函数错误,让您能够成功建立远…

    2025年2月23日
    100
  • AWR的基本知识

    自从Oracle 10g开始支持AWR以后,相比于Statspack,除了有更多新的内容可供参考,HTML保存格式也是为查看文档提供了很多便利。说 自从oracle 10g开始支持awr以后,相比于statspack,除了有更多新的内容可供…

    数据库 2025年2月23日
    100
  • SQLite4 的设计

    SQLite4 对于SQLite3而言,是一个可选方案,而不是一个替代方案. SQLite3 还没有过时. SQLite3 和 QLite4 将会并行受到支持. SQL 1.0 内容提要 sqlite4 是一个放在库中的紧凑的,自包含的,零…

    数据库 2025年2月23日
    100
  • Oracle dbstart 无法正常启动处理办法

    Oracle dbstart 无法正常启动处理办法 [oracle@CentOS-1 ~]$ dbstart ORACLE_HOME_LISTNER is not SET, unable to auto-start Or oracle db…

    数据库 2025年2月23日
    100
  • 使用awk来解析dump文件

    dump文件是平时工作中经常碰见的,有时候得到一个dump,但是没有提供一些更多的信息,导入的时候就很可能会有问题。如果某个用户 dump文件是平时工作中经常碰见的,有时候得到一个dump,但是没有提供一些更多的信息,导入的时候就很可能会有…

    数据库 2025年2月23日
    100
  • 物理DG从库损坏后的重建

    由于是重建,原来DG环境中被重建的物理从库中的数据文件,日志文件,dump文件等都可以删除,切记原来的参数文件和相应目录一定要保 由于是重建,原来dg环境中被重建的物理从库中的数据文件,日志文件,dump文件等都可以删除,切记原来的参数文件…

    数据库 2025年2月23日
    100
  • Oracle性能优化有时就这么简单_index

    性能优化有时就这么简单 一、概述 最近有一个系统(aix6.1+Oracle10.2.0.5 RAC)CPU每五分钟就达到百分之百,这个系统是监控系统 性能优化有时就这么简单 一、概述 最近有一个系统(aix6.1+Oracle10.2.0…

    数据库 2025年2月23日
    100
  • Oracle 重建表(rename)注意事项总结

    前一段时间,有一个DBA朋友在完成重建表(rename)工作后,第二天早上业务无法正常运行,出现数据无法插入的限制和错误,后来分析才 一、概述 前一段时间,有一个DBA朋友在完成重建表(rename)工作后,第二天早上业务无法正常运行,出现…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论