2009年12月23日 星期三

[Oracle]Mutil Row To One Row應用(一)

我有一張Log Table,會紀錄著procedure開始執行與結束的時間,該Log Table的紀錄方式為procedure Begin時寫入一筆資料,procedure End時寫入一筆資料,所以每次procedure執行只要是成功的狀態,就會有雙雙成對的Begin/End的資料,我期許可以算出每次procedure執行所需要的時間,於是就有把每兩筆Log Data變成一筆後去做時間運算的需求。

2009年12月7日 星期一

[Oracle]無中生有的月曆

本日課題是無中生有的產出一個月份天數的筆數,並且在今天的日期標示Today的字串於第二個欄位。

第一種解法為利用Oracle內建的all_object的sys table去做無中生有的筆數生成。
第二種解法是同事爬出文來的,用於沒有all_object的select的權限時,利用connect by level去生成所需筆數 。








2009年11月18日 星期三

[Oracle]Not 的妙用

最近遇到了一個需求,讓我驚覺Not 的妙用~~

欄位一等於A,且欄位二等於B,不列入計算
欄位一等於A,且欄位二等於C,不列入計算

這個看似簡單的條件,可讓我小小思考了一下,才寫出自己滿意的寫法。

2009年11月13日 星期五

[Oracle]Group By Rollup Function介紹

有時候User開的需求有列出所有資料後,資料集的最後為所有數值的總計,或是特定群組的小計。

如何在Oracle做到小計與總計的功能呢???答案就是Rollup !!!

Rollup的翻譯:捲起 奇摩字典

在SQL的世界中,就是可以針對Group By的欄位做小計的功能。

[Oracle]安裝Oracle HR範例資料庫

安裝Oracle Express 10g後,Oracle有一份HR的範例資料庫,就在Oracle的系統安裝路徑中。

 依我的Oracle Express為例,範例資料庫的SQL會放置於 C:\oraclexe\app\oracle\product\10.2.0\server\demo\schema\human_resources