星期四—練習數據庫的基本函數
阿新 • • 發佈:2017-07-13
next 根據 使用 dual bcd 當前日期 pre date 乘除
select * from EMP where job = ‘CLERK‘ or job = ‘MANAGER‘ and sal >= 1200; select * from EMP order by hiredate; select * from EMP ,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; --對sal這列進行升序 select * from EMP order by sal; --對sal這列進行降序 select * from EMP order by sal DESC; --插入列 select Upper(‘abcde‘),sal+‘1000‘ from EMP; select lower(‘ABCDE‘),sal+1000 from emp; --改變字符的大小寫 select * from emp where ename = upper(‘allen‘); -- select initcap(ename)from emp; --添加裏面的內容 select concat(‘改了‘,‘嗎?‘),ename from emp; --把內容進行減少 select substr(‘abcde‘,length(‘abcde‘)-2)from emp; --表示處理字節的位置 select substr(‘412.313‘,0,2)from emp; select substr(‘412.313‘,-2)from emp; select substr(‘412.313‘,2)from emp; --判斷內容字節長度 select length(ename)from emp; --把ename列的所有出現的A變成a select replace(ename,‘A‘,‘a‘)from emp; --所在字符串的位置 select instr(‘Hello World‘,‘ld‘)from emp; --左側填充 select lpad(‘smith‘,10,‘*‘)from emp; --右側填充 select Rpad(‘smith‘,10,‘*‘)from emp; --過濾首位空格 select trim(‘Mr smith‘)from emp; --根據位置來判定數值 select round(412,1)from emp; --四舍五入 select round(412.513,0)from emp; select round(412.313,-2)from emp; --取整 select trunc(412.53,2)from emp; --當前月份到指定時間的月份 select months_between(sysdate,hiredate)from emp; select months_between(to_date(‘2017-10-14‘,‘yyyy-mm-dd‘),to_date(‘2017-08-12‘,‘yyyy-mm-dd‘))from dual; --當前月加1 select add_months(hiredate,1)from emp; --跳轉到下一個指定的星期 select next_day(sysdate,‘星期二‘)from dual; --定位到當月最後一天 select last_day(sysdate)from dual; --獲取當前時間 select sysdate from dual; --獲取年份 select to_char(sysdate,‘yyyy‘)from dual; --獲取當前日期 select to_char(sysdate,‘fmyyyy-mm-dd‘)from dual; --把sal改成人民幣格式 select to_char(sal,‘L999999999‘)from emp; --把當前的星期返回成數字 select to_char(sysdate,‘D‘)from dual; --計算兩個數的加減乘除 select to_number(‘987‘)+to_number(‘14‘)from dual; select to_number(‘258‘)-to_number(‘14‘)from dual; select to_number(‘258‘)*to_number(‘14‘)from dual; select to_number(‘2200‘)/to_number(‘4‘)from dual; --把字符串轉化成日期 select to_date(‘20170713‘,‘yyyymmdd‘)from dual; --把null賦值為8 select nvl(comm,8) from emp; --取余 select mod(9,5)from dual; --所有有數值的數的平均 select avg(comm)from emp; --所有數值的和 select sum(comm)from emp; --每個月倒數第三天受雇的員工 select * from emp where last_day(hiredate)-2=hiredate; --25年前雇的員工 select * from emp where hiredate<=add_months(sysdate,-25*12); --員工名字前面加Dear select ‘Dear‘||initcap(ename)from emp; --找出名字是5個字母的人 select * from emp where length(ename)=5; --找出名字中沒有R的人 select * from emp where ename not like ‘%R_%‘; --顯示所有員工名字的第一個字 select substr(ename,0,1)from emp; --名字按降序排列 select * from emp order by ename DESC; --員工日工資 select sal/30 from emp; --二月份入職的員工 select * from emp where to_char(hiredate,‘fmmm‘)=‘2‘;
各類數據庫函數的使用
星期四—練習數據庫的基本函數