返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >oracle中的decode的使用介绍
  • 387
分享到

oracle中的decode的使用介绍

oracledecode 2022-11-15 23:11:59 387人浏览 安东尼
摘要

含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN    RETURN(翻译值1)ELSI

含义解释:

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

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

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

使用方法:

1、比较大小

select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。

2、此函数用在SQL语句中,功能介绍如下:

Decode函数与一系列嵌套的 IF-THEN-ELSE语句相似。base_exp与compare1,compare2等等依次进行比较。如果base_exp和 第i 个compare项匹配,就返回第i 个对应的value 。如果base_exp与任何的compare值都不匹配,则返回default。每个compare值顺次求值,如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个为NULL的base_exp被认为和NULL compare值等价。如果需要的话,每一个compare值都被转换成和第一个compare 值相同的数据类型,这个数据类型也是返回值的类型。

Decode函数在实际开发中非常的有用

结合Lpad函数,如何使主键的值自动加1并在前面补0
select LPAD(decode(count(记录编号),0,1,max(to_number(记录编号)+1)),14,'0') 记录编号 from tetdmis

eg:

select decode(dir,1,0,1) from a1_interval

dir 的值是1变为0,是0则变为1

比如我要查询某班男生和女生的数量分别是多少?

通常我们这么写:

select count(*) from 表 where 性别 = 男;
select count(*) from 表 where 性别 = 女;

要想显示到一起还要uNIOn一下,太麻烦了

用decode呢,只需要一句话

select decode(性别,男,1,0),decode(性别,女,1,0) from 表

3,order by对字符列进行特定的排序

大家还可以在Order by中使用Decode。

例:表table_subject,有subject_name列。要求按照:语、数、外的顺序进行排序。这时,就可以非常轻松的使用Decode完成要求了。

select * from table_subject order by decode(subject_name, '语文', 1, '数学', 2, , '外语',3)

--结束END--

本文标题: oracle中的decode的使用介绍

本文链接: https://lsjlt.com/news/172820.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • oracle中的decode的使用介绍
    含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN    RETURN(翻译值1)ELSI...
    99+
    2022-11-15
    oracle decode
  • oracle中的decode怎么使用
    Oracle中的DECODE函数用于将表达式与一系列条件进行比较,并返回第一个满足条件的结果。如果没有条件满足,则返回ELSE子句中...
    99+
    2023-08-28
    oracle decode
  • oracle中decode的用法
    oracle 中的 decode 函数可基于条件从多个值中选择一个值,语法为:decode(expression, value1, result1, value2, result2, ....
    99+
    2024-04-30
    oracle
  • Oracle Decode函数的使用
    DECODE函数的可以根据用户给定的判定条件给定想要的结果语法:DECODE(expr,{search,result,}….,default) 这里给的search,result可以是多个,而括号里所有元素...
    99+
    2024-04-02
  • oracle中decode函数的使用方法
    本篇文章给大家分享的是有关oracle中decode函数的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。decode的几种用法1:使用...
    99+
    2024-04-02
  • Oracle中RAC的用法介绍
    Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据...
    99+
    2023-10-22
    oracle rac oracle
  • oracle的decode函数怎么使用
    Oracle的DECODE函数用于根据给定的条件对一个表达式进行解码。它的基本语法如下:DECODE(expression, sea...
    99+
    2023-08-29
    oracle decode
  • Node.js中 __dirname 的使用介绍
    前言 本文主要给大家介绍的是关于Node.js中 __dirname 使用的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 方法如下 新建个文件 app.js 里面的内容如下: conso...
    99+
    2022-06-04
    Node js __dirname
  • Oracle中decode函数如何使用
    这篇文章将为大家详细讲解有关Oracle中decode函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。函数介绍:DECODE函数是ORACLE P...
    99+
    2024-04-02
  • oracle中case和decode如何使用
    这期内容当中小编将会给大家带来有关oracle中case和decode如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 总结: DE...
    99+
    2024-04-02
  • oracle中如何使用decode函数
    今天就跟大家聊聊有关oracle中如何使用decode函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  一、DECODE函数是ORACLE PL...
    99+
    2024-04-02
  • Oracle中decode函数怎么使用
    小编给大家分享一下Oracle中decode函数怎么使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!DECODE含义decode(条件,值1,返回值1,值2,返...
    99+
    2023-06-22
  • oracle中decode的用法是什么
    在Oracle数据库中,DECODE函数用于在一个表达式的结果匹配到指定的值时返回一些预定义的结果。它的一般语法如下:DECODE(...
    99+
    2023-08-25
    oracle
  • Oracle case函数使用介绍
    1.创建测试表: 复制代码 代码如下:DROP SEQUENCE student_sequence;CREATE SEQUENCE student_sequence ...
    99+
    2022-11-15
    Oracle case
  • oracle中decode函数的使用方法是什么
    在Oracle数据库中,DECODE函数用于根据指定的条件对值进行比较,如果满足条件则返回一个值,否则返回另一个值。DECODE函数...
    99+
    2024-03-15
    oracle
  • VuePostCSS的使用介绍
    目录PostCSS使用安装依赖运行使用第三方插件autoprefixer使用第三方插件postcss-preset-env使用第三方插件postcss-pxtorem运行的新方式Po...
    99+
    2023-02-06
    Vue PostCSS Vue PostCSS的使用
  • Redis中锁的介绍和使用
    其实说多线程修改数据也不合适,毕竟redis服务端是单线程的,所有命令串行执行,只是在客户端并发发送命令的时候,导致串行的命令一些排列问题和网络时间差等造成数据不一致。本文虽然是数字的加减,但是为了说明锁的...
    99+
    2024-04-02
  • Go中Sync.Cond的介绍和使用
    本篇内容介绍了“Go中Sync.Cond的介绍和使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 程序中的通信方式GO语言中有句名言:...
    99+
    2023-06-15
  • java中BigDecimal的介绍及使用
    BigDecimal是Java中的一个类,用于表示任意精度的十进制数。它提供了精确的数值计算,避免了浮点数计算时的精度损失。使用Bi...
    99+
    2023-09-09
    java
  • Oracle中decode怎么用
    小编给大家分享一下Oracle中decode怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!语法结构如下:decode (expression, sch_1, res_1)decode...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作