当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

数据库查询后果的动态排序(3)[MSSQL防范]

赞助商链接



  本文“数据库查询后果的动态排序(3)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
3、用列号作为参数

  就象第一个筹划所显示地那样,你大概更喜好用列的编号作为参数,而不是利用列的名字(列的编号即一个代表你想要作为排序根据的列的数字).这种办法的基本思惟与利用列名字作为参数的思惟一样:CASE表达式按照指定的列号肯定利用哪一个摆列行排序.Listing 7显示了改正后的GetSortedShippers存储历程.

【Listing 7:用列号作为参数】

ALTER PROC GetSortedShippers

@ColNumber AS int

AS

SELECT *

FROM Shippers

ORDER BY

CASE @ColNumber

WHEN 1 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 2 THEN CompanyName

WHEN 3 THEN Phone

ELSE NULL

END

  当然,在这里你也可以利用Richard的办法,避免ORDER BY子句中列数据范例带来的问题.假如要按照ShipperID排序输出,你可以按照下面的方法调用改正后的GetSortedShippers存储历程:

EXEC GetSortedShippers 1   以上是“数据库查询后果的动态排序(3)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 基于WEB的数据库查询
  • SQL Server数据库查验
  • 数据库查询中的特别字符的问题
  • 数据库查询后果的动态排序(2)
  • 数据库查询后果的动态排序(3)
  • 数据库查询后果的动态排序(4)
  • 数据库查询后果的动态排序(5)
  • 数据库查询后果的动态排序(1)
  • SQL Server数据库查询优化的常用办法总结
  • 通用SQL数据库查询语句精华利用简介
  • Java理论与实践:在没有数据库的情形下举行数据库查询
  • 三个办法优化MySQL数据库查询
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .