Oracle常用函式

2021-08-03 02:07:52 字數 2182 閱讀 7896

--oracle之常用函式

trunc()

;--四捨**入

selecttrunc(89745.43) from dual;--結果:89754

select trunc(89745.43,1) from dual;--結果:89745.40

select trunc(89745.46,1) from dual;--結果:89745.40

select trunc(89745.46,-1) from dual;--結果:89740

round();--四捨五入

select round(89745.43) from dual;--結果:89754

select round(89745.43,1) from dual;--結果:89745.40

select round(89745.46,1) from dual;--結果:89745.50

select round(89745.46,-1) from dual;--結果:89750

upper();--小寫轉大寫

select upper('hello') from dual;--結果:hello

lower();--小寫轉大寫

select lower('hello') from dual;--結果:hello

substr();--字串擷取

select substr('hello',3) from dual;--結果:llo

select substr('hello',3,2) from dual;--結果:ll

select substr('hello',-1) from dual;--結果:o

--日期函式

months_between();--兩年之間共有多少個月

add_months();--月份加

last_day();--乙個月中的最後一天

next_day();--下乙個準確日

--查詢emp表中員工從僱傭日期到今天有多少年?

select trunc(months_between(sysdate,hiredate)/12) years from emp;

--查詢emp表中員工從僱傭日期到今天有多少月?

select trunc(mod(months_between(sysdate,hiredate),12)) months from emp;

--查詢emp表中員工編號,姓名,僱傭日期,從僱傭日期到今天有多少年、月、日?(考慮閏年和閏月的情況)

select

empno,ename,hiredate,

trunc(months_between(sysdate,hiredate)/12) years,

trunc(mod(months_between(sysdate,hiredate),12)) months,

trunc(sysdate-add_months(hiredate,months_between(sysdate,hiredate))) day

from emp;

--三個轉換函式:to_char()、to_date()、to_number()

select to_char(sysdate,'yyyy-mm-dd') ch_year from dual;

select to_date('1999-04-23','yyyy-mm-dd') ch_date from dual;

select to_number('123',999) from dual ch_number;

--nvl():語法【nvl('列名',數字)】

select empno,ename,comm,sal,comm*sal*12 income from emp;

--計算員工的年收入

select empno,ename,comm,sal,nvl(comm,0),(sal+nvl(comm,0))*12 income  from emp;

--decode():語法【decode (列名,'列名值1','顯示的值1',,'列名值2','顯示的值2',...['預設值'])】

--部門用中文顯示

select empno,ename,comm,sal,

decode(job,'analyst','分析員','clerk','檢查員','salesman','銷售員','manager','經理','沒有此職位') from emp;

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...