sqlserver利用case語句自定義排序

2021-08-31 22:51:25 字數 601 閱讀 4992

如果機構、部門的編號是放在乙個欄位裡,但編碼規則是比較複雜的

如deptcode為10位,前兩位編碼為1級部門,後兩位為2級部門,再後兩位為3級部門等等,互為父子關係

1級 0100000000

2級 0101000000 0102000000 ...

3級 0101010000 0101020000 ...

下面根據deptcode排序

select id,deptname,deptcode from dept order by deptcode;

如果我要吧0101000000單獨放到最後呢?其他還是按deptcode排序。

你可以用union來做,也可以用case產生偽列來做。

用case:

select id,deptname,deptcode,case when deptcode='0101000000' then 9999999999 when deptcode!='0101000000' then deptcode end as ordercode from dept order by ordercode;

sqlserver 經典sql語句case

select alipay order num succ refund order num case alipay order num succ refund order num when 0 then 1 else alipay order num succ refund order num en...

利用Decode和Sign代替Case進行條件判斷

在oracle的sql條件判斷中,多數情況下,因其靈活方便且可讀性強,會使用case when進行。但decode函式使用起來簡潔直觀,且可在同一行進行判斷,故在多數sql條件判斷中,我一直力求使用decode。本文基於專案實戰,簡單談談利用decode和sign代替case進行條件判斷。先談談專案...

利用 Case 敘述做 SQL 的動態排列

sql server 在讀取資料時是採用隨機的方式,所以使用者會用 order 子句來做資料排列,在這篇文章當中咱叨要來進一步介紹按怎使用 case 來做動態的排列 order by 子句 咱先來看麥一般使用 select 的結果,在這篇文章的例咱會使用 sql server 的北風資料庫,請開啟 ...