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

首頁 > 開發 > 綜合 > 正文

數據庫查詢結果的動態排序(5)

2024-07-21 02:10:46
字體:
來源:轉載
供稿:網友
  • 網站運營seo文章大全
  • 提供全面的站長運營經驗及seo技術!
  • 為了解決這個問題,我們可以用前置的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的值都是正數,加上符號前綴就沒有必要,但為了讓方案適用于盡可能多的范圍,本例加上了符號前綴。排序時“-”在“+”的前面,所以它可以用于正、負數混雜排序的情況。
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 土默特左旗| 桃园县| 沙河市| 五华县| 资源县| 海口市| 罗江县| 蓝田县| 南岸区| 株洲县| 安岳县| 盈江县| 突泉县| 芮城县| 渝北区| 建宁县| 宁远县| 磴口县| 湄潭县| 嘉定区| 白河县| 双城市| 金昌市| 晴隆县| 汽车| 南皮县| 陆河县| 孟州市| 和平县| 上饶市| 双牌县| 呼伦贝尔市| 海伦市| 海丰县| 二连浩特市| 西青区| 淮阳县| 潼南县| 钟山县| 筠连县| 秭归县|