Oracle函式系列學習筆記

2021-09-26 15:05:04 字數 2659 閱讀 9967

---判斷函式:nvl()、decode()、 case when、

---字串函式

eg: substr  case when、to_char

and substr(t2.project_cd, 2, 2) >= case when to_char(sysdate,'mm')>'01' then to_char(sysdate,'yy') else to_char(add_months(sysdate, -12), 'yy') end

eg2: instr、

from t_pc_project_moneymaintain t1

join v_project_station_money t2

on t1.citycode = t2.citycode and instr(t1.sub_project_collection_id,t2.sub_project_collection_id) != 0

eg3: inv、decode

nvl(decode(t2.status, 102, t2.project_inv_at, 0), 0) +

nvl(decode(t2.status, 106, t2.project_inv_at, 0), 0) +

nvl(decode(t2.status, 110, t2.project_inv_at, 0), 0) +

nvl(decode(t2.status, 111, t2.project_inv_at, 0), 0) as project_usedinvat,

參考:

nvl( string1, replace_with)  功能:如果string1為null,則nvl函式返回replace_with的值,否則返回string1的值。

nvl2(e1, e2, e3)的功能為:如果e1為null,則函式返回e3,若e1不為null,則返回e2。

decode(條件,值1,翻譯值1,值2,翻譯值2,…值n,翻譯值n,預設值);

case when:

select  

case when salary <= 500 then '1'

when salary > 500 and salary <= 600 then '2'

when salary > 600 and salary <= 800 then '3'

when salary > 800 and salary <= 1000 then '4'

else null end salary_class, -- 別名命名

count(*)

from table_a

group by

case when salary <= 500 then '1'

when salary > 500 and salary <= 600 then '2'

when salary > 600 and salary <= 800 then '3'

when salary > 800 and salary <= 1000 then '4'

else null end;

select instr(『abcdefg』,『c』)from dual;

select substr(『abcdefg』,1,2) from dual;–索引從1 開始 ,從第一位開始擷取,擷取兩位

select substr(『abcdefg』,2) from dual;–索引從1 開始,從第二位開始擷取,一直擷取到最後

–按位元組來計算則可以採用substrb函式

–substrb(『智慧型abc』,3,4)=『能ab』

–substrc:按unicode編碼,

–substr2:按ucs2編碼,

–substr4:按ucs4編碼。

select replace(『abcdafg』,『a』,『h』)from dual;

select ltrim(』 a b ce 『)from dual;–左去空

select rtrim(』 a b ce 『)from dual;–右去空

select trim(』 a b ce ')from dual;–去前後空

select lpad(『a』,3,『b』)from dual;–左補位

select lpad(『a』,2,『b』)from dual;

select lpad(『a』,1,『b』)from dual;

select rpad(『a』,3,『b』)from dual;–右補位

select rpad(『a』,2,『b』)from dual;

select rpad(『a』,1,『b』)from dual;

select upper(『abc』) from dual;–全部大寫

select lower(『abc』)from dual;–全部小寫

select initcap(『abc』)from dual;–首字母大寫

select 『abc』||『def』 from dual;

select username||password from t_user;

select concat(username,password)from t_user;

select length(username)from t_user;

vue系列學習筆記

1.v if 在vue.js中,我們使用v if指令實現同樣的功能 利用v if控制該元素有還是沒有 template v if 因為v if是乙個指令,需要將它新增到乙個元素上,但如果想切換多個元素,可以把乙個元素當作包裝元素,並在上面使用v if,最終的渲染結果不會包含它 例如2.v show ...

YOLO系列學習筆記

此文參考 1 給乙個大小為448x448的輸入影象,首先將影象劃分成7 7的網格。2 對於每個網格,每個網格 2個bouding box 每個box包含5個 量 以及20個類別概率,總共輸出7 7 2 5 20 1470個tensor 3 根據上一步可以 出7 7 2 98個目標視窗,然後根據閾值去...

C語言系列學習筆記

本系列部落格文章,系我本人學習總結c語言過程之中的讀書筆記,其主要內容來自於以下若干教材 linux c程式設計實戰 linux高效能伺服器程式設計 c專家程式設計 c語言入門經典 第5版 資料結構 c語言版 等。對上述教材裡的部分 錯誤進行了修正 上述教材中部分 有錯誤,無法編譯通過 並且所有 例...