国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 巴青县| 霍城县| 思茅市| 芜湖市| 金阳县| 彭阳县| 广河县| 稻城县| 西华县| 新巴尔虎左旗| 兰考县| 香河县| 尼玛县| 丰原市| 铜鼓县| 崇文区| 绥滨县| 九江市| 凤山县| 中宁县| 镇安县| 措美县| 册亨县| 湖北省| 伊金霍洛旗| 隆安县| 许昌县| 福泉市| 治多县| 连南| 克拉玛依市| 安康市| 商南县| 平谷区| 卢湾区| 广灵县| 基隆市| 来宾市| 吉隆县| 尚义县| 九龙县|