国产探花免费观看_亚洲丰满少妇自慰呻吟_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的值都是正數,加上符號前綴就沒有必要,但為了讓方案適用于盡可能多的范圍,本例加上了符號前綴。排序時“-”在“+”的前面,所以它可以用于正、負數混雜排序的情況。
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 丰县| 衡阳县| 凌源市| 台南县| 清镇市| 桃源县| 营山县| 淳安县| 从化市| 呼伦贝尔市| 嘉义县| 兴仁县| 北碚区| 开封市| 富顺县| 江安县| 洱源县| 库车县| 都江堰市| 昭通市| 十堰市| 江源县| 棋牌| 全州县| 东光县| 桂东县| 孟连| 新余市| 容城县| 甘孜县| 霞浦县| 阜新| 恩施市| 治多县| 平邑县| 大英县| 潮州市| 康定县| 姜堰市| 德惠市| 黑龙江省|