oracle 常用函式

2021-09-29 09:27:05 字數 1953 閱讀 2397

1、coalesce(expr1,expr2,expr3...exprn)函式:從左往右數,遇到第乙個非null值,則返回該非null值。

如果第乙個引數為null,則返回第二個引數

如果第乙個引數為非null,則返回第乙個引數

2、nvl(commission_pct,0):

3、nvl2(str, str, 0):

4、decode(str, '0', 11, '1', 22, 00):

5、case  字段 when  『key1』 then 'value1'  when  『key2』 then 'value2'  else 'value2' 

6、時間函式

to_char(sysdate, 『yyyy-mm-dd hh24:mi:ss』)

to_date('2019-01-11 00:00:00', 『yyyy-mm-dd hh24:mi:ss』)

date '2019-01-11 00:00:00'

7、 distinct 去重

8、 nlssort排序

order by nlssort(t.b,'nls_sort = schinese_pinyin_m');--拼音

order by nlssort(t.b,'nls_sort = schinese_stroke_m') --筆畫

order by nlssort(t.b,'nls_sort = schinese_radical_m') --部首

9、fetch(12c版本才有,類似於mysql的limit),rownum,

select

*from

emporder by sal desc

fetch next 5 rows only;

select

*from

emporder by sal desc

limit 5;

oracle11g的用法

select *

from (select * from emp t order by t.sal desc) x

where rownum <= 3

10、其他函式,

length:長度  select length(t.job) job  from emp t

upper:全大寫  select upper(t.job) job  from emp t

lower: 全小寫 select lower(t.job) job  from emp t

||:字元連線, select t.empno || t.ename || ',' || t.job aa from emp t

(mysql的函式select concat_ws(',' emp_name, ***, salary) from emp;)

substr、instr:substr(t.email, 1, instr(t.email, '@')-1)

replace:replace(t.email,'com', 'net')

dbms_random:order by dbms_random.value (返回隨機排序的員工)(mysql隨機排序order by rand();)

數學函式 ceil、floor 和 round:想上取整,向下取整,四捨五入( select ceil(1.253), floor(1.234), round(1.44) from dual;)

greatest:         select t.empno, greatest(empno, t.mgr) from emp t;,返回行中最大值

dbms_random.value(0, 100):獲取隨機數

trunc:select trunc(dbms_random.value(0, 100)) xx from dual,取隨機數的整數,捨去小數點

Oracle常用函式

一 row number over 資料甲 1 select column name column name,data type,2 row number over partition by column name order by column name row num 3 from test c...

Oracle常用函式

數學函式 1.絕對值 o select abs 1 value from dual 2.取整 大 o select ceil 1.001 value from dual 3.取整 小 o select floor 1.001 value from dual 4.取整 擷取 o select trun...

oracle常用函式

1.concat c1,c2均為字串,函式將c2連線到c1的後面,如果c1為null,將返回c2.如果c2為null,則返回c1,如果c1 c2都為null,則返回null。他和操作符 返回的結果相同 select concat slobo svoboda username from dualuse...