【PL/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

摘自:https://www.cnblogs.com/freespider/archive/2010/08/09/1795977.html

时间: 2024-10-10 17:47:48

【PL/SQL查询】查询结果翻译成其他值_decode的相关文章

PL/SQL中文显示都显示成“?”的问题

--引用自 http://www.2cto.com/database/201301/185758.html 遇到问题: PLSQL中汉字显示乱码,并且SQL语句中如果有汉字,则执行时报错. 其实并不是SQL语句写的有问题,而是系统不能识别汉字. 解决方法: 首先执行语句 select * from V$NLS_PARAMETERS 查看第一行中PARAMETER项 中为NLS_LANGUAGE 对应的VALUE项中是否为SIMPLIFIED CHINESE. 如果不是,需要设置环境变量. 双击我

[Oracle系列整理01]PL/SQL 基本查询与排序

本课重点:    1.写SELECT语句进行数据库查询    2.进行数学运算    3.处理空值    4.使用别名ALIASES    5.连接列    6.在SQL PLUS中编辑缓冲,修改SQL SCRIPTS    7.ORDER BY进行排序输出.    8.使用WHERE 字段. 一.写SQL 命令:      不区分大小写.      SQL 语句用数字分行,在SQL PLUS中被称为缓冲区.      最后以:或 / 结束语句.      也可以用RUN来执行语句 二.例1:

PL/SQL 编写查询语句时LIKE中文不起作用

在使用PL/SQL时经常出现SELECT表时,明明有符合条件的数据,但是在WHERE语句中的LIKE中文查询不到结果. 解决办法如下: 1.打开一个SQL Window 执行查询语句"select * from v$nls_parameters ;"得到查询结果如下, 1 NLS_LANGUAGE AMERICAN 2 NLS_TERRITORY AMERICA 3 NLS_CURRENCY $ 4 NLS_ISO_CURRENCY AMERICA 5 NLS_NUMERIC_CHAR

PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法

PL/SQL查询时,如果Number(17)以上的大数,会显示为科学计数法 解决方法: TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中Number fields to_char即可. 原文地址:https://www.cnblogs.com/mingforyou/p/8342692.html

PL/SQL连接查询数据报错时Dynamic Performance Tables not accessible

一.产生该提示原因plsql dev在用户运行过程中,要收集用户统计信息,但是由于你现在登录的用户没有访问v$session,v$sesstat and v$statname视图的权限,所以不能收集当前用户的统计信息,和plsql dev工具中配置的Automatic Statistics相冲突,所以就出现了这个提示,试验验证: [[email protected] ~]$ sqlplus / as sysdba   SQL*Plus: Release 11.2.0.3.0 Production

20141214 pl/sql developer 查询、删除、重命名

查询某字段含中文字 select * from issue i where  asciistr(i.id) like '%\%' 查询某字段含英文字母 select * from issue i where regexp_like(i.id,'.([a-z]+[A-Z]))   (红色字体随意改变) 重命名 SQL script窗口里,表名上右键选择‘rename’,在弹出窗口中修改,点击‘OK’ 删除表 选择my objects ,找到表名,右键选择‘drop’

PL/SQL中查询某的时间段内所有执行的sql

清空缓存,重新开始统计执行的SQL alter system flush shared_pool; 查询执行过的SQL select * from v$sql where parsing_schema_name='FSSR' order by first_load_time desc

pl/sql development 查询的数据复制到excel

chr(9)tab键chr(10)换行chr(13)回车chr(13)&chr(10)回车换行 查询的数据复制到excel,若一个字段值占2个或2个以上单元格,则可能有上述符号,可用instr查出,可用replace删掉select n_id,s_name from t_a t where stat_time=20171206 and instr(s_name,chr('10'))>0;select n_id,s_name from t_a t where stat_time=2017120

PL/SQL 中查询CLOB字段内容

oracle中的clob类型字段不能直接显示出来,需要借助Oracle系统dbms_lob中substr方法处理,如select dbms_lob.substr(clobField) from table 如果内容输出不全,进行如下设置 set heading off 不输出结果第一行的标题 (字段名称) set long 40000  设置输出的字节数(比较大数)