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语句的过程中,尽量使用一 ...
随机推荐
- 10.纯 CSS 创作一个同心圆弧旋转 loader 特效
原文地址:https://segmentfault.com/a/1190000014682999 想到了扇形:正方形 ->border-radius: 50%; ->取四份中的任意一份. ...
- python中的keys、values、items
keys()获取字典中所有的键并放入列表 values()获取字典中所有的值并放入列表 items()获取字典中所有的键值对并放入列表 举个例子: 1 a = { 2 "name" ...
- hive设置参数的方法
1.修改环境变量 ${HIVE_HOME}/conf/hive-site.xml 2.命令行参数 -e : 执行短命令 -f : 执行文件(适合脚本封装) -S : 安静模式,不显示MR的运行过程 ...
- springboot 端口号
1. 读取端口号 2.多端口运行 2.
- Spring Cloud (6)config 客户端配置 与GitHub通信
1. 配置yml 1.1 1.2 1.3 2. 提交yml 到git 3.新建项目 pom 4.新建bootstrap.yml (优先权比application.yml高) 5.bootstrap.y ...
- 【转】bootstrap实现左侧菜单伸缩
传送门:https://blog.csdn.net/easyboot/article/details/59486235
- eclipse打断点,进行弹窗提示后点击是才进入debug视图,这个要怎么恢复
window --> preferences --> Run/Debug --> Perspectives 里的 open the associated perspective wh ...
- Haskell语言学习笔记(79)lambda演算
lambda演算 根据维基百科,lambda演算(英语:lambda calculus,λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义.函数如何被应用以 ...
- python实现排序算法一:快速排序
##快速排序算法##基本思想:分治法,将数组分为大于和小于该值的两部分数据,然后在两部分数据中进行递归排序,直到只有一个数据结束## step1: 取数组第一个元素为key值,设置两个变量,i = 0 ...
- python中itertools里的product和permutation
平时经常碰到全排列或者在n个数组中每个数组选一个值组成的所有序列等等问题,可以用permutation和product解决,很方便,所以在此mark一下吧 直接上代码 from itertools i ...