十一、replace 替换
格式:(原字符串,要查找的字符或字符串,替换的字符或字符串)
select replace('hello world','o','a') from dual; //替换时区分大小写
select e.empno,replace(e.ename,'S','J') from emp e;
十二、去除空格的函数
trim 去除字符串2边的空格
ltrim 去除字符串左边的空格 (left)
rtrim 去除字符串右边的空格 (right)

十三、日期类型
to_date:(把字符串转换成日期的函数)
to_date(要转换成日期的字符串, 转换格式)
select to_date('2017-04-20 14:30:12','yyyy-mm-dd HH24:mi:ss') from dual;
to_char() (可以把日期或数字转换成字符串)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss:SSSS') from dual;
select to_char(1234.5, '$9999D9') from dual;

--查询今天是今年的多少天
select to_char(sysdate, 'DDD') from dual;
--查询当月的多少天
select to_char(sysdate, 'DD') from dual;
--查询这个星期的第多少天
select to_char(sysdate, 'D') from dual;

to_number--把字符数字 转换成数字

计算2个日期之间相差的天数
select trunc(sysdate-hiredate) from dual;
--当前日期前5年的时间
select sysdate, sysdate - interval '5' year from dual;
--当前日期前5个月的日期
select sysdate, sysdate - interval '5' month from dual;

months_between 返回2个日期之间相差的月数

add_months --在一个日期基础上增加若干个月
select add_months(sysdate, 2) from dual;
select add_months(sysdate, -2) from dual;
last_day--返回当月的最后一天
select to_char(last_day(sysdate), 'yyyy-mm-dd') from dual;

十四、查询记录总数
select count(*) from 表名
select count(*) from emp;
select count(1) from emp;
select count(comm) from emp; //只会统计comm != null 的 记录
1.求最大工资的员工
select max(sal) from emp where sal is not null;
2:求最小值的数据
select min(列名) from 表名
3:求和
select sum(列名) from 表名
4:求平均值
select avg(列名) from 表名
5.连合查询,求值的字段必须是数值类型的字段
select avg(sal),sum(sal),max(sal),min(sal) from emp;

6:分组查询
--查询出每个部门的平均工资(按部门分组)
select floor(avg(sal)),deptno from emp group by deptno;
--查询每个部门的总工资和,平均工资,最高工资
select floor(avg(sal)) as 平均工资,sum(sal) 总工资, max(sal) 最高工资,deptno from emp group by deptno;
--查询每个部门,每个工作的总工资和
select sum(sal) 总工资, deptno, job from emp group by deptno,job
--查询出每个部门,每个工种的总人数
select count(1),deptno,job from emp group by deptno,job;
--查询每个部门的员工数
select count(1),deptno from emp group by deptno;

十五、列的操作
1.新增列
ALTER TABLE (表名) ADD (列名 数据类型);
alter table t_test add tname nvarchar2(20);

2.改某个表某个列的数据类型
ALTER TABLE (表名) MODIFY (列名 数据类型);
alter table t_test modify tname nvarchar2(20);

3.更改列名
ALTER TABLE (表名) RENAME COLUMN (当前列名) TO (新列名); /////不需要括号
alter table t_test rename COLUMN tname to tname2

4.删除某列
ALTER TABLE (表名) DROP COLUMN (列名);
alter table t_test drop COLUMN tname2

5.重命名表名
ALTER TABLE (当前表名) RENAME TO (新表名);
alter table t_test rename to t_test2;

oracle复习(二)的更多相关文章

  1. Oracle复习思路

    目录 Oracle复习 题型 复习大纲 附录 SQL题目一 SQL题目二 SQL题目三 SQL题目四 SQL题目五 SQL题目六 Oracle复习 题型 选择题15题 每题2分,共30分 判断题10题 ...

  2. Oracle GoldenGate 二、配置和使用

    Oracle GoldenGate 二.配置和使用 配置和使用GoldenGate的步骤 1 在源端和目标端配置数据库支持GoldenGate 2 在源端和目标端创建和配置GoldenGate实例 3 ...

  3. 7.26实习培训日志-Oracle SQL(二)

    Oracle SQL(二) 条件表达式 CASE 语句 或者DECODE 函数,两者均可实现 IF-THEN-ELSE 的逻辑,相比较而言,DECODE 更加简洁 SELECT last_name , ...

  4. Oracle笔记二

    一.数据库语言分类  二.DML之数据插入 把一个表中的数据查询出来插入另外一个表中. create table student(id number,name varchar2(20),age num ...

  5. 26、Oracle(二)

    1)掌握多行函数与分组操作 2)掌握多表查询与子查询 3)理解集合查询与掌握Oracle分页语法 4)理解创建.修改和删除表和表约束 --------------------------------- ...

  6. oracle复习(一)

    一.系统操作cmd->sqlplus / as sysdba; //以管理员身份登录数据库alter user system account unlock; //解锁用户systemalter ...

  7. Oracle(二)在 Mysql 的基础上学习 Oracle

    毕竟我是先学的mysql,对数据库的一切认知都会有一个先入为主的思想在里面,如果不搞清楚其中的异同,我感觉Oracle我是学不会 了,甚至会把它们混淆.那么,不会mysql的没必要往下看了. 下边第一 ...

  8. Java基础——Oracle(二)

    一.Oracle 中的几个服务 1.OracleDBConsoleorcl 进程:nmesrvc.exe oem控制台服务进程,dba用.Oracle Enterprise Manager(Oracl ...

  9. Oracle(二)SELECT语句执行顺序

    转载自:小强斋太-Study Notes,原文链接 从join on和where执行顺序认识T-SQL查询处理执行顺序 目录 一.样例 二.SELECT语句的处理过程 1. FROM阶段 2. WHE ...

随机推荐

  1. [SHOI2006]color 有色图[群论、组合计数]

    题意 用 \(m\) 种颜色,给 \(n\) 个点的无向完全图的 \(\frac{n(n-1)}{2}\) 条边染色,两种方案相同当且仅当一种方案交换一些点的编号后可以变成另一种方案.问有多少本质不同 ...

  2. 开发框架模块视频系列(2)-Winform分页控件介绍

    在软件开发过程中,为了节省开发时间,提高开发效率,统一用户处理界面,尽可能使用成熟.功能强大的分页控件,这款Winform环境下的分页控件,集成了数据分页.内容提示.数据打印.数据导出.表头中文转义等 ...

  3. Linux或Windows上实现端口映射

    通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务器经过配置就可以承担起了转发数据包的功能. 一.Windows下实现端口映射 1. 查询端口 ...

  4. WinForm 之 窗口最小化到托盘及右键图标显示菜单

    Form最小化是指整个Form都缩小到任务栏上,但是窗体以Form的标题栏形式显示在任务栏上, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件. ...

  5. ORM简介 单表添加修改删除表记录

    ---------------------------------------------------------------目标既定,在学习和实践过程中无论遇到什么困难.曲折都不灰心丧气,不轻易改变 ...

  6. H5 57-文章界面

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. iOS开发之线程组解决请求多个接口数据,完成后,再刷新界面

    1.多任务请求接口,完成后,在刷新数据,常用方法 2018年07月18日 16:34:38 hbblzjy 阅读数:1382 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  8. 一些Cassandra+YCSB异常

    这两天一直在用YCSB.昨天还可以用的YCSB,今天在测试Cassandra时遇到问题了. 环境是在公用局域网的一台debian机器,YCSB和Cassandra都在这台机器上.异常是开始运行YCSB ...

  9. 【问题解决方案】Dev C++ 无法调试的问题与解决

    听翁恺老师课的时候用到一个叫DevC++的编辑器. 学到调试部分的时候,老师的没问题我的报错.我?? 试一试网上查到的方法: 工具 --> 编译选项 --> 代码生成/优化 --> ...

  10. pinpoint vs druid

    主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid) - ppjj - 博客园 https://www.cnblogs.com/nizuimeiabc1/ ...