實務上確實有可能讓使用者決定資料的排序,在資料量不小的情境下,不太可能將資料全部撈出在用程式過濾,
搭配原本實作分頁的邏輯(亦可參考黑哥文章),將動態排序需求加入其中。
這邊使用person table 模擬資料,設計如下
資料內容如下
其中,模擬能夠達到動態使用 Name 或 CreateOn 欄位來排序,tsql 語法如下
若 @sorted 參數為1 使用「Name」欄位排序,若為0則使用 「CreateOn」排序,但當執行時,會出現以下錯誤
經過測試,由於「Name」與 「CreateOn」欄位兩者的資料型別不同,需要將 datetime 的轉換為字串,調整語法如下,
即可正常運作
快速筆記加強印象
沒有留言:
張貼留言