前言:之前一直都是用hive處理資料,因為專案變動要改為oracle+kettle
之前寫的sql在oracle上會有很多報錯比如oracle 沒有split 函式等
需求1:計算某個表每個月多少條占用多少空間
直接執行一下語句,該語句會算出每個表占用多少儲存空間
select table_name,blocks*8192/1024/1024 size_m from user_tables
這裡的blocks大小為8byte所以乘以8192
計算行數
select table_name,num_rows from user_tables
這樣計算的行數並不是精確值只是大概
2.oracle實現 split的用法
『[^_]+』 這裡只用替換下劃線為分隔符就可以了,後面兩位引數,1表示從字串的第一位開始擷取,後面的x.n表示擷取第幾個分割符之間的資料
3.oracle 實現行列轉換
主要函式 unpivot,pivot
舉例列轉行
selectb,a
from t
unpivot(a for b in(c,e,d))
a,b (自定義欄位名),cde 為 原列名
4.oracle 拼接字串用 雙豎線 || 就可以
第二種方式 用 concat(『abc』,『123』) 跟hive不同的是只支援兩個引數,所以當需要加分割符的時候 concat(『abc』,』_123』) 把分隔符和其中乙個字串相連線
5.因為業務需要,不同的層不同源的資料採用不同的庫名,oracle只有乙個庫,但是可以建立多個例項,每個例項乙個賬號,然後給需要互通的層之間授權即可 例如ods層的表只用dw層可以訪問即可
授權語句:grant select on ods.table to dw;
6.dml語言,比如update,delete,insert等修改表中資料的需要commit;
7.rows between unbounded preceding and current row
這條語句表示統計從第一條記錄開始到當前行的所有記錄,在計算累計值時很方便 詳細用法可以看看這個部落格
PHP Debug實戰技術
老鳥有一本 php除錯手冊 在網路上風行,不管老鳥還是嫩鳥,這篇文章的作用是介紹一些簡單易行的php除錯實戰技術,希望大家能提出寶貴意見,共同進步。一 列印輸出 使用echo print print r var dump exit die在制定位置輸出除錯結果,並終止程式執行。這招在php的ajax...
PHP Debug實戰技術
老鳥有一本 php除錯手冊 在網路上風行,不管老鳥還是嫩鳥,這篇文章的作用是介紹一些簡單易行的php除錯實戰技術,希望大家能提出寶貴意見,共同進步。一 列印輸出 使用echo print print r var dump exit die在制定位置輸出除錯結果,並終止程式執行。這招在php的ajax...
實戰技術產品經理
需求端工作 需求市場調研 使用者畫像等,可以增長業務邏輯水平。研發端工作 需求文件製作 開發跟進等,可以增長系統熟練水平,並對溝通表達水平有一定鍛鍊。運營端工作 包括bug處理 活動策劃等,可以增長各項能力。專案端工作 比如上下級溝通 成果匯報 資源爭取,可以增長溝通表達水平。需求開始,我們的商業思...