關於oracle中遞迴取資料解析

2022-01-30 02:32:24 字數 784 閱讀 9620

比如有以下部門表(depts)記錄資訊

dept_id       dept_name             parent_id

100            a                     0

101            a1                   100

102            a2                   100

103            b                     0

104            b1                   103

105            b2                   103

106            b22                 105

有時候點乙個部門時還想看到其所有的下屬部門,這個在oracle裡顯示比較容易

如想找到部門b及其所有下屬部門,可以這樣

select dept_name from depts start with dept_id = 103 connect by prior dept_id= parent_id

執行後得到結果為bb1

b2b22

select dept_name from depts start with dept_id = 105 connect by prior dept_id= parent_id

執行後結果為

b2b22

在實際應用過程中dept_id當然是可以當作變數了

這些早有過,還是貼上來:)

關於ORACLE中取星期的問題

select to char sysdate,day from dual 可以得到當前是一周中的星期幾 select to char sysdate,d from dual 可以得到當前是一周中的第幾天,由於國外人的習慣與中式不同所以通常為 select to char sysdate 1,d fr...

關於Oracle取整的函式

關於oracle取整的函式分別有以下幾種 1.取整 大 select ceil 1.001 value from dual 向大的進製 ceil 0.12 02.取整 小 select floor 1.001 value from dual 向小的進製 floor 0.12 13.取整 擷取 sel...

Oracle中遞迴查詢

表結構示例 示例資料 oracle當中的 connect by 是層次查詢子句,一般用於樹狀或者層次結果集的查詢。例如家族關係 組織管理等層次關係。每行資料都是按層次順序檢索,並規定將表中的資料連入樹形結構的關係中。select a.level,connect by isleaf from node...