国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

數(shù)據(jù)庫查詢結(jié)果的動態(tài)排序(7)

2024-07-21 02:30:59
字體:
供稿:網(wǎng)友
三、用列號作為參數(shù)


  就象第一個方案所顯示地那樣,你也許更喜歡用列的編號作為參數(shù),而不是使用列的名字(列的編號即一個代表你想要作為排序依據(jù)的列的數(shù)字)。這種方法的基本思想與使用列名字作為參數(shù)的思想一樣:CASE表達(dá)式根據(jù)指定的列號確定使用哪一個列進(jìn)行排序。Listing 7顯示了修改后的GetSortedShippers存儲過程。



【Listing 7:用列號作為參數(shù)】


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





  當(dāng)然,在這里你也可以使用Richard的方法,避免ORDER BY子句中列數(shù)據(jù)類型帶來的問題。如果要根據(jù)ShipperID排序輸出,你可以按照下面的方式調(diào)用修改后的GetSortedShippers存儲過程:



EXEC GetSortedShippers 1


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 雅江县| 徐汇区| 黑水县| 苍南县| 东乡族自治县| 通海县| 乐平市| 蒙城县| 天津市| 平顺县| 泗水县| 浏阳市| 香格里拉县| 汶上县| 虎林市| 集安市| 枣强县| 广平县| 错那县| 青州市| 宣化县| 聂荣县| 明星| 泰和县| 金秀| 大悟县| 丹寨县| 隆尧县| 遵化市| 淮安市| 资源县| 伊宁市| 海晏县| 慈利县| 上犹县| 昌图县| 襄樊市| 白银市| 宾阳县| 阿坝| 包头市|