標籤:oracle
使用NVL(a,b)通用函數,統計員工年度營收,NVL()作用於任何類型,即(number/varchar2/date)
通用函數:參數類型可以是number或varchar2或date類型
select ename,sal*12+NVL(comm,0) from emp;
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/86/F7/wKioL1fP3ufzfvGzAAAaGsv5Dyc989.png" title="006.PNG" alt="wKioL1fP3ufzfvGzAAAaGsv5Dyc989.png" />
使用NVL2(a,b,c)通用函數,如果a不為NULL,取b值,否則取c值,統計員工年度營收
select ename,sal*12+NVL2(comm,comm,0) from emp;
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/86/F7/wKioL1fP3yuj2FfpAAAbo5eX_UY447.png" title="007.PNG" alt="wKioL1fP3yuj2FfpAAAbo5eX_UY447.png" />
使用NULLIF(a,b)通用函數,在類型一致的情況下,如果a與b相同,返回NULL,否則返回a,比較10和10.0是否相同
select NULLIF(10,‘10‘) from dual;
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/86/F8/wKiom1fP34-j4ZSXAAAXU7xPSbY609.png" title="008.PNG" alt="wKiom1fP34-j4ZSXAAAXU7xPSbY609.png" />
使用SQL99標準通用文法中的case運算式,將職位是分析員的,工資+1000;職位是經理的,工資+800;職位是其它的,工資+400
case 欄位
when 條件1 then 運算式1
when 條件2 then 運算式2
else 運算式n
end
課後請參考<MySQL5.X的手冊>-12.2這個章節
select ename "姓名",job "職位",sal "漲前工資", case job when ‘ANALYST‘ then sal+1000 when ‘MANAGER‘ then sal+800 else sal+400 end "漲後工資"from emp;
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/86/F7/wKioL1fP4ELQ6tBFAABCzVwIMnI052.png" title="009.PNG" alt="wKioL1fP4ELQ6tBFAABCzVwIMnI052.png" />
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/86/F7/wKioL1fP4o_xgRUEAAA_xJfO0fg654.png" title="011.PNG" alt="wKioL1fP4o_xgRUEAAA_xJfO0fg654.png" />
使用oracle專用文法中的decode()函數,職位是分析員的,工資+1000;職位是經理的,工資+800;職位是其它的,工資+400
decode(欄位,條件1,運算式1,條件2,運算式2,...運算式n)
select ename "姓名",job "職位",sal "漲前工資", decode(job,‘ANALYST‘,sal+1000,‘MANAGER‘,sal+800,sal+400) "漲後工資"from emp;
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/86/F8/wKiom1fP4IaDQ38_AAA2q44Tw4g840.png" title="010.PNG" alt="wKiom1fP4IaDQ38_AAA2q44Tw4g840.png" />
單引號出現的地方如下: 1)字串,例如:‘hello‘ 2)日期型,例如:‘17-12月-80‘ 3)to_char/to_date(日期,‘YYYY-MM-DD HH24:MI:SS‘) |
雙引號出現的地方如下: 1)列別名,例如:select ename "姓 名" from emp 2)to_char/to_date(日期,‘YYYY"年"MM"月"DD"日" HH24:MI:SS‘)‘’號中的英文字元大小寫不敏感 |
Oracle系列:(11)通用函數和條件判斷函數