1. 程式人生 > >星期四—練習數據庫的基本函數

星期四—練習數據庫的基本函數

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‘;
各類數據庫函數的使用

星期四—練習數據庫的基本函數