网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.把SQL数据库部署到远程数据库服务.
.将SQLServer2005 数据库还原或恢.
.SQL 视图效率和连接超时设置.
.存储过程编写经验和优化措施.
.一次特殊的SQL Server安装奇遇.
.SQL Artisan组件之Query对象.
.Sql Server 2000+Sql Server Mob.
.sql中的iif语句详解.
.[SQLServer2000]TEMPDB丢失或TEM.
.数据复制的基本理念与复制技术面.
.SQL Server通用分页存储过程:利.
.通过进行正规化的表格设计提升应.
.用一个示例讲解自治事务和非自治.
.SQL Server数据库简体繁体数据混.
.如何得到两个相邻snap_id中的一个.
.Sql Server实用操作小技巧集合.
.五种提高SQL性能的方法.
.SQL Server安装文件挂起错误解决.
.SQL Server 存储过程的经典分页.
.MS SQL Server 2005 开发之分页存.

数据库查询结果的动态排序(5)

发表日期:2001-11-14


  为了解决这个问题,我们可以用前置的0补足ShipperID值,使得ShipperID值都有同样的长度。按照这种方法,基于字符的排序具有和整数排序同样的输出结果。修改后的存储过程如Listing 5所示。十个0被置于ShipperID的绝对值之前,而在结果中,代码只是使用最右边的10个字符。SIGN函数确定在正数的前面加上加号(+)前缀,还是在负数的前面加上负号(-)前缀。按照这种方法,输出结果总是有11个字符,包含一个“+”或“-”字符、前导的字符0以及ShipperID的绝对值。



【Listing 5:用列名字作为参数,第三次尝试】


ALTER PROC GetSortedShippers

@ColName AS sysname

AS


SELECT *

FROM Shippers

ORDER BY

CASE @ColName

WHEN 'ShipperID' THEN CASE SIGN(ShipperID)

WHEN -1 THEN '-'

WHEN 0 THEN '+'

WHEN 1 THEN '+'

ELSE NULL

END +

RIGHT(REPLICATE('0', 10) +

CAST(ABS(ShipperID) AS varchar(10)), 10)

WHEN 'CompanyName' THEN CompanyName

WHEN 'Phone' THEN Phone

ELSE NULL

END





  如果ShipperID的值都是正数,加上符号前缀就没有必要,但为了让方案适用于尽可能多的范围,本例加上了符号前缀。排序时“-”在“+”的前面,所以它可以用于正、负数混杂排序的情况。
上一篇:数据库查询结果的动态排序(4) 人气:13324
下一篇:数据库查询结果的动态排序(6) 人气:12061
浏览全部数据库查询结果的动态排序的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐