oracle 11g sql语句,oracle 11g SQL语句补充学习

添加列:

alter table tablename add columnName datatype (not null);        -------需要注意一点的是在添加一列为非空的时候, 表必须是空表.

删除列:

alter table tablename drop column columnName

改变列的数据类型:

alter table tablename modify columnName datatype

改变列名:

alter table tablename rename column columnName to new_columnName

删除数据:

delete tablename;

truncate table tablename;

drop table tablename;     --------删除表

常用的聚合函数:

取整函数

floor()-----向上取整

ceil()-----向下取整

trunc()-----取整

round()-----四舍五入取整

查询年龄的时候可以使用这个函数

select trunc(months_between(*,*)/12) from table-----------前者是未来的日期

或者

select trunc(sysdate-dataDate)/365 from table

months_between()返回的是差多少个月, 两个日期数据相减是差多少天

union和union all------------一个去除重复一个全部显示

case的用法

先上两种语法:

case when 字段名=... then ...(无限接) else ... end

case 字段名 when ... then ...(无限接) else ... end

不写 end 是猪, 忘了N+1次了

decode()函数

decode()函数有点类似于case...when的用法

decode(字段名,‘值1‘,‘值1的对应值‘,‘值2‘,‘值2的对应值‘...(无限接)...,‘default‘)

vm_concat()函数

select sname,student.sno,wm_concat(cno) from student join score on student.sno=score.sno group by sname,student.sno order by student.sno

student表:

8b42b778c5fa525bf55a5c884f03b1c1.png

score表:

60f98c1a0bb223a48a261b682b897e6d.png

查询结果:

9d3b94eaf6943dd14c3efc09a5e81179.png

concat函数:

将两个查询结果连接到一起去, 最多两个

select concat(sname,sbirthday) from student

33a9e6fcd371200222f2a193a58bb2d6.png

replace()函数:

replace(字段名,‘值1‘,值2)

查询字段的内容, 如果他是‘值1‘, 就替换成‘值2‘

nvl()和nvl2():

nvl(字段名,‘值‘)

如果查询的这个字段的值为空(null), 就返回‘值‘

nvl2(字段名,‘值1‘,‘值2‘)

如果查询结果不为空, 返回‘值1‘, 如果为空返回‘值2‘

原文:http://www.cnblogs.com/wgbs25673578/p/5470396.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值