网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.超大型ORACLE数据库应用系统的设.
.全球获得Oracle认证者逾越20万人.
.Oracle中的汉字显示.
.修改默认的Oracle XML Database监.
.Shrink Undo表空间,释放过度占用.
.oracle基本概念和术语.
.集合和成员函数.
.Linux上备份Oracle数据库脚本(16.
.Oracle8 优化技术:输入/输出.
.为什么编译的时候提示不支持Berk.
.在Oracle数据库中移动数据文件的.
.在Linux创建库函数(8).
.时钟概述.
.将数据库访问集成到 Linux 应用中.
.ORACLE在HP-UX下的系列问题处理(.
.A little test for index.
.Oracle数据库数据锁定机制全面解.
.如何实现取出文件中特定的行内容.
.SAP与Oracle在SOA领域之争.
.Oracle调优与深入之灌水篇.

Decode 函数的用法

发表日期:2008-2-9


      在数据库开发的过程当中,有很多时候需要将行转换成列或者将列转换成行来显示数据,而往往我们在建立表结构时不能根据显示的要求来保存数据,于是乎只能在保存数据之后做一些必要的操作(比方说:建立视图等)来达到显示的目的。    
       下面用一个常见的数据显示来说明decode函数的用法。就是成绩单的显示,这个是教学治理系统中最常见的。我想做开发的人员都碰到过这个,而且在大学期间也是经常接触成绩单,显示的是:姓名、语文、数学等  
        实现脚本如下(cjd.sql):  
--建表  
create table stud  
(  
 sid  varchar2(10),  
 kcbm  varchar2(10),  
 cj  int  
);  
--插入测试数据  
insert into stud values(’1’,’语文’,80);  
insert into stud values(’2’,’数学’,90);  
insert into stud values(’3’,’英语’,100);  
commit;  
--创建视图,decode用法  
create or replace view cjd as  
 select sid,  
 decode(kcbm,’语文’,cj,0) 语文,  
 decode(kcbm,’数学’,cj,0) 数学,  
 decode(kcbm,’英语’,cj,0) 英语  
 from stud  
 order by sid;  
--显示数据  
select * from cjd;  
执行过程如下:  
SQL> create table stud(sid varchar2(10),  
  2  kcbm varchar2(10),  
  3  cj int);  
表已创建。  
SQL> insert into stud values(’1’,’语文’,80);  
已创建 1 行。  
SQL> insert into stud values(’2’,’数学’,90);  
已创建 1 行。  
SQL> insert into stud values(’3’,’英语’,100);  
已创建 1 行。  
SQL> commit;  
提交完成。  
SQL> create or replace view cjd as  
  2  select sid,  
  3  decode(kcbm,’语文’,cj,0) 语文,  
  4  decode(kcbm,’数学’,cj,0) 数学,  
  5  decode(kcbm,’英语’,cj,0) 英语  
  6  from stud  
  7  order by sid;  
视图已建立。  

SQL> select * from cjd;   

SID           语文       数学       英语     
                               
---------- ---------- ---------- ----------                                    
1            80          0           0                                    
2            0           90          0                                    
3            0           0           100        
上一篇:通过sql语句获取数据库的基本信息 人气:696
下一篇:快速转移数据的方法 人气:563
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐