Oracle笔记4

 

Oracle笔记

插入语句

对指定类型的数据插入,如:日期类型

Insert into emp values(8888,’laowang’,’clert’,’male’,’250.55’,

to_date(‘2015/11/11’,’yyyy-mm-dd’),1000,40,7839);

注意:要加上commit;才能插入成功

通过子查询插入数据

Insert into copy_demo(emp_id,emp_name,emp_position)

 

通过子查询插入数据

insert into copy_demo(emp_id,emp_name,emp_position)

select dept_id,dept_name,dept_location fromdept where dept_location= '长沙';

 

创建语句

复制表格(包括表的字段类型和数据一起复制)

可以保证原表不受影响进行测试

create table copy_demo (emp_id,emp_name,emp_position)

as select emp_id,emp_name ,emp_positionfrom emp;

修改语句

 

 

合并数据

 

合并

union ,union all ,intersect , minus

union合并数据(默认去除重复数据)

select emp_id,emp_name,emp_position fromemp

where emp_salary > 2000

union

select emp_id,emp_name,emp_position fromcopy_demo;

union 合并数据(不去除重复数据)

select emp_id,emp_name,emp_position fromemp

where emp_salary > 2000

union all

select emp_id,emp_name,emp_position fromcopy_demo;

intersect 取交集
minus 取差集

函数

max,min,avg,sum,count,

lower  --将字符串转换成小写

select lower(‘AABBCC’) from dual

upper  --将字符串转换成大写

select upper(emp_name) from emp;

initcap  --首字母大写,其余小写

select initcap(emp_name) from emp;

concat  --连接 通常使用 “||” 代替

select ‘姓名:’ || emp_name from dual;

length   --查询字符串长度

length(‘asdf’);

substr -- 截取字符串

select emp_name,substr(emp_name,1,3) fromemp;

replace  --替换

select ‘aabbcc’,replace(‘aabbcc’,’b’,’d’)from dual;

round(n,m) 

取四舍五入,如果去掉m,四舍五入到整数,不去则四舍五入到m位

Select (round(‘250.55’)+round(100))*13 fromdual;

trunc()

截取数字(整数)或者日期

mod()

取余数

floor()

返回大于或是等于较小的整数

ceil()

返回大于或是等于较大的整数

abs(n)

返回数字绝对值

acos(n)

反余弦值

asin(n)

反正弦值

Log(m,n)

以m为底n对数

Pow(m,n)

返回m的n次幂

Last_day(d)

返回指定日期所在月份的最后一天

 

找出每个月倒数第三天入职的员工

select emp_name,emp_hiredate from emp wherelast_day(emp_hiredate)- 2 = emp_hiredate;

Add_months(d,n)

查找已经入职8个月以上的员工

Select * from emp where sysdate >add_months(emp_hiredate,8);

满了2年服务年限的员工信息

Select * from emp where sysdate >add_months(emp_hiredate,12*2);

显示每个员工加入公司的天数

select emp_name,trunc(sysdate -emp_hiredate) "入职天数" from emp;

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值