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