SQL中 decode()函数简介 - FreeSpider - 博客园

body
{
font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif;
font-size: 10.5pt;
line-height: 1.5;
}
html, body
{

}
h1 {
font-size:1.5em;
font-weight:bold;
}
h2 {
font-size:1.4em;
font-weight:bold;
}
h3 {
font-size:1.3em;
font-weight:bold;
}
h4 {
font-size:1.2em;
font-weight:bold;
}
h5 {
font-size:1.1em;
font-weight:bold;
}
h6 {
font-size:1.0em;
font-weight:bold;
}
img {
border:0;
max-width: 100%;
height: auto !important;
}
blockquote {
margin-top:0px;
margin-bottom:0px;
}
table {
border-collapse:collapse;
border:1px solid #bbbbbb;
}
td {
border-collapse:collapse;
border:1px solid #bbbbbb;
}

今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈!

?

??????

?

?decode()函数简介:

主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明);

使用方法:

Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)

From talbename

Where …

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

·含义解释:

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

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

举例说明:

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

SQL如下:

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,

如果取较小值就是

select monthid,decode(sign(sale-6000),-1,sale,6000) from output,即达到取较小值的目的。

来自为知笔记(Wiz)

时间: 2024-11-09 00:05:02

SQL中 decode()函数简介 - FreeSpider - 博客园的相关文章

SQL中 decode()函数简介

SQL中 decode()函数简介 今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中columnname为要选择的table中所定义的

SQL中 decode()函数简介(转载)

今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where - 其中columnname为要选择的table中所定义的column, ·含义解释: dec

SQL 中 decode()函数

文本转自 FreeSpider的微博 今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where - 其中columnname为要选择的table中所定义

SQL中 decode() 函数介绍

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名为ou

sql中decode(...)函数的用法

相当于if语句 decode函数比较1个参数时 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') name FROM bank #如果第一个参数inParam=='beComparedParam',则select得到的name显示为值1, #如果第一个参数inParam!='beComparedParam',则select得到的name显示为值2 decode函数比较多个参数时 SELECT ID,DECODE(inParam,'par

如何在博客园发博客时插入优酷视频

操作步骤如下: 1. 在优酷视频页面,点击“转发到”右边的“更多”按钮. 2. 复制html代码文本框中的内容 3. 进入博客园博客后台编辑器,点击“插入/编辑嵌入式媒体”按钮. 4. 在打开的窗口中选择“源代码”标签,将之前在优酷网站上复制的html代码粘贴过来. 5. 点击“插入按钮”就完成了优酷视频的添加. from: http://www.cnblogs.com/cmt/archive/2012/06/27/youku_insert_video.html

博客园客户端(Universal App)开发随笔 - Setting Page的实现方法与经验

前言 几乎所有的移动 App 都会为用户提供一个设置页面(Setting Page 或 Preference Page),来满足大家对于一个 App 众口难调的需求.虽然有一种说法表示,最好的 App 不需要设置,一切默认呈现给用户的就是最好的选择.但是对于大多数开发人员来说,这样的境界不是可以简单达到的:而且对于部分“设置控”用户来说,没有设置页面怎么看都觉得少了些什么.所以对于大部分 App 来说,设置页面还是一个必备品. 本文将分别介绍 Windows 和 Windows Phone 的设

博客园&华为云百万代金券福利

跟华为云的合作达成以后,我们积极沟通为园友们争取到了第一个福利,就是百万华为云代金券.每个通过博客园注册关联华为云的用户(也可扫下面的二维码关联),都可以收到价值100元的华为云体验券一张.实际付费超过1元后,我们会再次追加100元体验券.代金券可用于华为云官网160多种产品,即刻体验个人网站建设.开发环境部署.微信公众号后台搭建等多种实践场景吧. 代金券使用限制:代金券不可用于购买特惠产品:不可用于支付包年/多年订单.您可以选择最长9个月的包月和按需服务. 为什么是华为云? 之前的帖子里,有人

SQL中的decode()函数简介

decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中columnname为要选择的table中所定义的column, ·含义解释: decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)的理解如下: if (条件==值1) then return