Oracle OCP 06 通用函式和條件表示式

2021-09-26 13:39:58 字數 2331 閱讀 5591

函式說明

nvl語法:nvl(expr1,expr2)

說明:如果expr1為null,則該函式顯示expr2的值;

例子:select salary, nvl(to_char(commission_pct), 0)

from employees;

nvl2

語法:nvl2(expr1,expr2,expr3)

說明:如果expr1的值為null,則該函式顯示expr3的值;不為null,顯示expr2的值;

例子:select last_name,

salary,

commission_pct,

nvl2(commission_pct, 'sal+comm', 'sal') income

from employees

where department_id in (50, 80);

nullif

語法:nullif(expr1,expr2)

說明:如果expr1=expr2,返回null;若不等,則返回第乙個表示式的值;

例子:select first_name,

length(first_name) "expr1",

last_name,

length(last_name) "expr2",

nullif(length(first_name), length(last_name)) result

from employees;

colesce

語法:coalsece(expr1,expr2,expr3)

說明:如果全為null,則函式值為null;若有一項不為null,則顯示那一項exprn;若三項都不為空,則顯示最前面的一項expr;

例子:select coalesce(null, 1, 2, 3, 4)

from dual;

select coalesce(null, null, 2, 3, 4)

from dual;

函式說明

case

語法:case expr

when comparison_expr1then return_expr1

[when comparison_expr2 then return_expr2

when comparison_exprn then return_exprn

else else_expr]

end

說明:

對已知的資料庫中資料,按照自己的邏輯,進行自定義分組和資料分析

用此條件控制語句,實現自定義條件分組

條件控制語句中巢狀函式達到理想的計算效果其他

例句:select last_name,salary,

(case when salary<5000 then 'low'

when salary<10000 then 'medium'

when salary<20000 then 'good'

else 'excellent'

end) qualified_salary

from employees;

decode

語法:decode(col|expression, search1, result1

[, search2, result2,...,]

[, default])

說明:decode 具有和 if-then-else 一樣的功能。

例句:select product_id,

decode(warehouse_id,

1, 'southlake',

2, 'san francisco',

3, 'new jersey',

4, 'seattle',

'non-domestic') "location of inventory"

from inventories

where product_id < 1775;

例句:

select last_name,

salary,

decode(trunc(salary /

2000,0

),0,

0.00,1

,0.09,2

,0.20,3

,0.30,4

,0.40,5

,0.42,6

,0.44

,0.45

) tax_rate

from employees

where department_id =

80;

oracle SQL單行函式3 通用函式

通用函式 nvl exp1,a 如果exp1為null則返回a,否則返回exp1 select nvl null,33 from dual 33 nullif exp1,exp2 如果exp1 exp2,則返回空,否則返回exp1 select nullif 32,32 from dual 空 nv...

13 通用二維陣列製造函式

題目 為程式make 2d array 編寫乙個通用型演算法,它的第三個引數不是整數 col number,而是一維陣列row size。它建立乙個二維陣列,第 i 行的列數是 row size i 思路 本題需要改變的是列數,也就是說,每行的元素個數可以不同,把這些元素個數儲存在陣列 row si...

hql2(通用分頁)

basedao sql和hql通用分頁 的區別 通過書籍名字模糊查詢資料,並且具備分頁的功能 hql通用分頁 方法分享 public class basedao object value null 給query賦值 for map.entryentry map.entryset 陣列型別 else ...