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
trunc()聚合函数扩张使用的例子(格式化日期以及格式化数字)
TRUNC(TO_DATE('24-Nov-1999 08:00 pm','dd-mon-yyyy hh:mi am')='24-Nov-1999 12:00:00 am'
TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am'
trunc(sysdate,'yyyy') --返回当年第一天。
trunc(sysdate,'mm') --返回当月第一天。
trunc(sysdate,'d') --返回当前星期的第一天。
trunc(sysdate,'dd')--返回当前年月日
2.TRUNC(for number)
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推。
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表:

score表:

查询结果:

concat函数:
将两个查询结果连接到一起去, 最多两个
select concat(sname,sbirthday) from student

replace()函数:
replace(字段名,'值1',值2)
查询字段的内容, 如果他是'值1', 就替换成'值2'
nvl()和nvl2():
nvl(字段名,'值')
如果查询的这个字段的值为空(null), 就返回'值'
nvl2(字段名,'值1','值2')
如果查询结果不为空, 返回'值1', 如果为空返回'值2'
oracle 11g SQL语句补充学习的更多相关文章
- Oracle PL/SQL语句基础学习笔记(上)
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...
- Oracle常用SQL语句大全
常用Oracle数据库SQL语句汇总. 1.常用操作 --清空回收站purge recyclebin;--查询回收站select * from recyclebin--查询Oracle版本信息sele ...
- oracle常用SQL语句(汇总版)
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...
- oracle之sql语句优化
oracle之sql语句优化 sql语句的优化 1.在where子句中使用 is null 或 is not null 时,oracle优化器就不能使用索引了. 2.对于有连接的列,即使最有一个是静态 ...
- oracle中sql语句的优化
oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info (30000条数据)D ...
- oracle 常用sql语句
oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...
- Oracle中SQL语句分类
Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlt ...
- Oracle和SQL语句的优化策略(基础篇)
转载自: http://blog.csdn.net/houpengfei111/article/details/9245337 http://blog.csdn.net/uniqed/article/ ...
- Access、SQLServer、Oracle常见SQL语句应用区别
Access.SQLServer.Oracle常见SQL语句应用区别 关劲松 PMP 如果要兼容Access.SQL Server.Oracle三个数据库版本:我们在编写SQL语句的过程中,尽量使用一 ...
随机推荐
- <转载> js 闭包
http://www.haorooms.com/post/js_bbtwo http://www.jb51.net/article/24101.htm http://www.cnblogs.com/f ...
- python大法好——字典、集合
字典 前面我们说过列表,它适合于将值组织到一个结构中并且通过编号对其进行引用.字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(key)下 ...
- AspxCallback和AspxCallbcakPanel区别
AspxCallback是一个无界面控件,主要功能是启动一个回调,进行数据交互,而AspxCallbcakPanel为一个容器控件,可以在里面添加控件,并且可以局部刷新AspxCallbcakPane ...
- Image.Url 无法使用 Server.MapPath(使用后无论如何也不显示)
Image.Url 无法使用 Server.MapPath(使用后无论如何也不显示)
- Hive安装 和管理
- C语言复习: 二级指针和多级指针
二级指针内存模型建立 void main2() { int i = 0; //指针数组 char * p1[] = { "123", "456 ...
- 如何安装和配置RabbitMQ(转载)
如何安装和配置RabbitMQ 今天开始一个小小的练习,学习一下安装和配置RabbitMQ,为什么要学它,因为WCF可以完全兼容和使用RabbitMQ了.我们新的大数据系统需要使用消息队列,所以就开始 ...
- C#格式化数值结果表(格式化字符串)
字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0:D3}", ...
- sqlalchemy 学习-- 多表操作
一对多:一对一 # one -- many class Students(Base): __tablename__ = "students" sid = Column(Intege ...
- eclipse git 拉取内容