sql中decode的用法_sql求和函数

sql中decode的用法_sql求和函数decode()函数的语法:其中:columnname为要选择的table中所定义的column;缺省值可以是你要选择的columnname本身,也可以是你想定义的其他值,比如Other等;

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

decode() 函数的语法:

1 Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) 2 
3 From talbename 4 
5 Where

其中:columnname为要选择的table中所定义的column;

   缺省值可以是你要选择的column name本身,也可以是你想定义的其他值,比如Other等;

主要作用:相当于IF语句, 将查询结果翻译成其他值。(即以其他形式表现出来)。

 

举例说明:

现定义一table名为output,其中定义两个column分别为monthid(var型)和sale(number型),若sale值=1000时翻译为D,=2000时翻译为C,=3000时翻译为B,=4000时翻译为A,如是其他值则翻译为Other:

Select monthid , decode (sale,1000,'D',2000,'C',3000,'B',4000,'A',’Other’) sale from output

若只与一个值进行比较:

Select monthid ,decode(sale, NULL‘---’,sale) sale from output

 

decode中可使用其他函数,如nvl()函数或sign()函数等:

  NVL(EXPR1,EXPR2)

  若EXPR1是NULL,则返回EXPR2,否则返回EXPR1。

SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1;

如果用到decode函数中:

select monthid,decode(nvl(sale,6000),6000,'NG','OK') from output;

 

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

用如下的SQL语句取较小值:

select monthid,decode(sign(sale-6000),-1,sale,6000) from output;

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166760.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 正则表达式中/i,/g,/ig,/gi,/m的区别和含义

    正则表达式中/i,/g,/ig,/gi,/m的区别和含义

    2021年11月5日
    63
  • HTML文本载入HTMLDocument2进行解析

    HTML文本载入HTMLDocument2进行解析更多精彩内容,请见:http://www.16boke.comIHTMLDocument2*pDoc;IHTMLElementCollection*objAllElement;HRESULThr;CoInitialize(NULL);hr=CoCreateInstance(CLSID_HTMLDocument,NULL,CLSCTX_INPROC_SERVER,IID_IHTMLDocument2,(void**)&pDoc);

    2022年7月19日
    15
  • Spring AOP IOC 实现原理,面试问到如何回答[通俗易懂]

    Spring AOP IOC 实现原理,面试问到如何回答[通俗易懂]IOC:控制反转也叫依赖注入,IOC利用java反射机制,AOP利用代理模式。所谓控制反转是指,本来被调用者的实例是由调用者来创建的,这样的缺点是耦合性太强,IOC则是统一交给spring来管理创建,将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件…

    2022年6月28日
    153
  • c++获取子类窗口句柄位置_C++中各种获取窗口句柄的方法「建议收藏」

    c++获取子类窗口句柄位置_C++中各种获取窗口句柄的方法「建议收藏」AfxGetMainWndAfxGetMainWnd获取自身窗口句柄HWNDhWnd=AfxGetMainWnd()->m_hWnd;GetTopWindow函数功能:该函数检查与特定父窗口相联的子窗口z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗口的句柄。函数原型:HWNDGetTopWindow(HWNDhWnd);参数:hWnd:被查序的父窗口的句柄。如果该…

    2022年7月21日
    9
  • java 多线程Thread、Runnable和Callable的区别和用法

    文章目录Callable实现多线程importjava.util.concurrent.Callable;importjava.util.concurrent.ExecutionException;importjava.util.concurrent.FutureTask;/**一、创建执行线程的方式三:实现Callable接口。相较于实现Runnable接口的方式,方法可以有返回值,并且可以抛出异常。**二、执行Callable方式,需要FutureT

    2022年4月7日
    45
  • Linux中的压缩解压缩命令

    Linux中的压缩解压缩命令常用压缩格式:.zip,.gz,.bz2,tar.gz,.tar.bz2Linux中常用的软件包都是用红色展示的压缩文件不一定比原文件小,因为压缩文件还包括压缩格式,当原文件比较小时,压缩文

    2022年7月3日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号