仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 668|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页设计decode 函数的用法

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用一个库#bak_database存放这些历史数据。decode|函数
在数据库开辟的历程傍边,有良多时分必要将行转换成列大概将列转换成行来显现数据,而常常我们在创建表布局时不克不及依据显现的请求来保留数据,因而乎只能在保留数据以后做一些需要的操纵(例如说:创建视图等)来到达显现的目标。

上面用一个罕见的数据显现来讲明decode函数的用法。就是成就单的显现,这个是教授教养办理体系中最多见的。我想做开辟的职员都碰到过这个,并且在年夜学时代也是经常打仗成就单,显现的是:姓名、语文、数学等

完成剧本以下(cjd.sql):

--建表
createtablestud
(
sidvarchar2(10),
kcbmvarchar2(10),
cjint
);
--拔出测试数据
insertintostudvalues(1,语文,80);
insertintostudvalues(2,数学,90);
insertintostudvalues(3,英语,100);
commit;
--创立视图,decode用法
createorreplaceviewcjdas
selectsid,
decode(kcbm,语文,cj,0)语文,
decode(kcbm,数学,cj,0)数学,
decode(kcbm,英语,cj,0)英语
fromstud
orderbysid;
--显现数据
select*fromcjd;

实行历程以下:

SQL>createtablestud(sidvarchar2(10),
2kcbmvarchar2(10),
3cjint);

表已创立。

SQL>insertintostudvalues(1,语文,80);

已创立1行。

SQL>insertintostudvalues(2,数学,90);

已创立1行。

SQL>insertintostudvalues(3,英语,100);

已创立1行。

SQL>commit;

提交完成。

SQL>createorreplaceviewcjdas
2selectsid,
3decode(kcbm,语文,cj,0)语文,
4decode(kcbm,数学,cj,0)数学,
5decode(kcbm,英语,cj,0)英语
6fromstud
7orderbysid;

视图已创建。

SQL>select*fromcjd;

SID语文数学英语
----------------------------------------
18000
20900
300100
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-19 16:17:41 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
蒙在股里 该用户已被删除
板凳
发表于 2015-2-4 17:05:39 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
admin 该用户已被删除
地板
发表于 2015-2-10 04:52:32 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
爱飞 该用户已被删除
5#
发表于 2015-2-28 20:35:19 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
飘飘悠悠 该用户已被删除
6#
发表于 2015-3-10 07:54:18 | 只看该作者
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
变相怪杰 该用户已被删除
7#
发表于 2015-3-17 05:36:16 | 只看该作者
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
透明 该用户已被删除
8#
发表于 2015-3-23 22:23:57 | 只看该作者
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 17:58

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表