一、操作符:

1、分类:

算术、比较、逻辑、集合、连接;

2、算术操作符:

执行数值计算;

--工资加1000

select empno,ename,job,sal+1000 from emp;

3、比较操作符:

--比较运算符(between and包头不包尾)

select * from emp where sal between 1000 and 2000;

(不等于是!=  ,   在mysql中是<>  )

4、逻辑操作符:and  or  not

--查询奖金不为空的员工信息

select * from emp where comm is not null;

5、集合操作符:

将两个查询的结果组合成一个结果:

select sid from t_score where score>=70 and cid = '01'

INTERSECT

select sid from t_score where score>=70 and cid = '07';

①、intersect 返回两个查询的公共行;

②、union:返回两个查询的不重复的所有行;这里面可以是一个表中的数据(在mysql中是另外的联合查询--不是一个表)

③、minus:返回从第一个查询的结果中排除第二个查询中出现的行;(在第一个的结果中查找不满足第二个的)

6、连接操作符:

将多个字符串或数据值合并成一个字符串;

--连接操作符

select ('员工号为'||empno||',姓名为'||ename||'的工资为'||sal) from emp

7、优先级:

算术>连接>比较>not逻辑>and逻辑>or逻辑操作符

二、SQL函数:

用于执行特殊的操作的函数;

1、分类:

单行、 分组、分析;

2、单行函数分类:

从表中查询的每一行只返回一个值;

字符、数字、日期、转换、其他;

3、字符函数:

--字符串函数

select lower(ename),job from emp; --小写

select ltrim('xysdezadmas','xyz') from dual;--截取:从左边开始按后面字段开始截取,有几个截取几个,没有就不截取

①、其他字符函数:

chr:根据ASCII码返回对应的字符(0:48    a:97    A:65)

lpad和rpad: 填充;

trim:去除左右两边的空格符;

lenth:字符串长度;

decode:逐个值置换;

select sname,decode(cid,1,'开发部')as 部门 fromjava0322;select ename,decode(job,'CLERK','职员','SALESMAN','导购') as 工作 from emp

4、数字函数;

5、日期函数:

对日期值进行计算,并生成日期数据类型或数值类型的结果;

add_months 偏移;

months_between:月数差;

last_day 最后一天;

round:四舍五入;

trunc:只舍不入,返回指定日期模式截断后的第一天;

next_day(d,day):下周周几的日期

extract:计算年份差:

--日期函数

select add_months(sbirth,-3) from java0322;--月份偏移3月,可以是负数,也就是向前偏移

select extract(year from sysdate) from dual;--截取当前时间的年份

select sname,extract(year from sysdate) - extract(year from sbirth) from java0322;--计算年纪

6、转换函数:

to_char:按照指定的格式转化字符串;

to_date:将字符串转化为日期;

to_number:将数字字符串转化为数字;----可以实现直接在sql语句中进行格式的转换

--转换函数(字符串,格式)

Select TO_CHAR(0.123,'$0.9999') FROMDUAL;--字符串转日期

select to_date ('2005-02-28','yyyy-mm-dd') fromdual;--字符串转数字

select to_number('20') from dual;

其他函数:

nvl:isnull,不为空时为本身,为空时指定0;

nvl2:不为空时指定值2,为空时指定值3;

NullIF:相等时为空,否则为前者

--查询员工表的所有人的姓名,工资+奖金(奖金没有的时候,由null转为0)---nvl转换空值的函数

select ename,sal+nvl(comm,0)as sal from emp;--当空为0,不为空为comm

select ename,sal+nvl2(comm,10000,0) from emp;---不为空时10000,为空时0;

select nullif(100,200) from dual;--相等为空,不等为前者

7、分组函数:

基于一组行来返回结果;

avg、min、max、sum、count

8、分析函数:

根据一组行来计算聚合值;用于计算完成聚集的累计排名、移动平均数等;

row_number:返回连续的排位,不论值是否相等;

rank:具有相等值的行排位相同,序数随后跳跃;

dense_rank:具有相等值的行排位相同,序号是连续的

--排位

select empno,ename,job,sal,row_number()over (order by sal desc) as numm from emp; --返回连续的排位,不论值是否相等12345

select empno,ename,job,sal,rank()over (order by sal desc) as numm from emp; --相等值的行排位相同,序号随后跳跃;12245

select empno,ename,job,sal,dense_rank()over (order by sal desc) as numm from emp; --相等值的行排位相同,序号是连续的;12234

内容来源于网络如有侵权请私信删除

不入oracle数据库,Oracle数据库之操作符及函数相关推荐

  1. oracle to_char 和 to_date的区别,斜杠和横杠日期转换,mybatis中入参日期,数据库字段是date的写法

    文章目录 斜线日期转换为横线 这样的时间字符串如何转换20201212040506258 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 mybatis中入参日期,数据库字段是date ...

  2. Oracle数据库(一):安装函数查询条件查询

    文章目录 1.课程总介绍 Oracle由来&埃里森的身世 为什么学习Oracle 2.Oracle安装与配置 3.正式学习部分 Oracle体系结构 Oracle和MYSQL的差别 SQL的简 ...

  3. Oracle 免费的数据库--Database 快捷版 11g 安装使用与SOD框架对Oracle的CodeFirst支持...

    一.Oracle XE 数据库与连接工具安装使用 Oracle数据库历来以价格昂贵出名,当然贵有贵的道理,成为一个Oracle DBA也是令人羡慕的事情,如果程序员熟悉Oracle使用也有机会接触到大 ...

  4. [转]Oracle DB 复制数据库

    • 列出创建副本数据库的目的 • 选择用于复制数据库的方法 • 使用RMAN 复制数据库 • 使用RMAN 备份复制数据库 • 基于正在运行的实例复制数据库 使用副本数据库 • 使用副本数据库可执行以 ...

  5. oracle连接外部数据库_使用Oracle验证外部数据

    oracle连接外部数据库 我经常在Corda Slack频道中闲逛,并尽可能回答问题. 我尝试回答的合理数量的问题与Oracle有关. 更具体地说,何时使用. 我觉得我可以回答,"当您需要 ...

  6. 使用ORACLE DBCA创建数据库

    利用 DBCA 建立 Oracle9i 数据库   文章出处:原文刊登于2002年04月Linuxer杂志 作者:何致億 发布时间:2005-10-30   已经向大家介绍过如何在 Oracle9i ...

  7. Oracle、Mysql数据库编程开发基本操作命令语法脚本_基础篇(入门级)

    Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 文章目录 Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 一.数据库中常用的字段类型 二.操作数据库 ...

  8. 数据库——oracle

    为什么要用数据库? 文件存储: 1.不易于管理和分析(Linux操作系统下输入ls命令会卡死) 2.不易于共享 3.文件内容不断增大,不易于存储 数据库:用数据结构来管理.存储数据的仓库 DB:Dat ...

  9. oracle数据库恢复aul_[数据库]oracle从dbf文件中恢复数据(通过AUL工具实现)

    [数据库]oracle从dbf文件中恢复数据(通过AUL工具实现) 0 2013-09-27 00:00:18 背景故事:前几天,硬盘故障导致oracle崩溃.重要数据丢失,只剩下孤零零的dbf文件. ...

  10. rhel6安装oracle,在RHEL6中安装Oracle 11g R2数据库

    在RHEL6中安装Oracle 11g R2数据库 2011-10-10  TsengYia#126.com http://tsengyia.blog.chinaunix.net/ ######### ...

最新文章

  1. 讲解 Zookeeper 的五个核心知识点
  2. AI造假 vs AI打假 终结“猫鼠游戏”不能只靠技术
  3. matlab 灰色Verhulst预测模型
  4. linux中的c 环境变量,Linux C 参考手册 之 环境变量篇
  5. java 安卓视频播放器_java - 学习做一个安卓视频播放器,有一些小问题!忘大家请教...
  6. 【opencv学习】【图像的数值计算操作】
  7. java文件读写的基本类_java常用工具类(三)—— 文件读取的操作类
  8. 操作指令详解_爱码小士丨 APP稳定性测试(附视频详解)
  9. 计算机科学导论_[计算机科学导论]第一章:计算机学什么
  10. 拓端tecdat|回归分析与相关分析的区别和联系
  11. 四川安湖科技:抖音中视频的方案是什么
  12. 【Unity3D开发小游戏】《超级马里奥游戏》Unity开发教程
  13. chemdraw如何改中文_教您如何掌握ChemDraw页面设置技巧
  14. java 线程池超时_Java定时线程池停止超时任务
  15. 又是二分法(uva714)
  16. 6-9.添加HLSL镜面高光
  17. 18.移动点餐端搭建----点餐系统移动端
  18. 阳光,无论清浅或明媚
  19. 基于asp.net综合管理系统源码,三层架构
  20. python+excel接口自动化测试(实现 数据分离,token获取,数据依赖,发送邮件)

热门文章

  1. docker镜像打包save,载入load,启动run
  2. 01.MyBatis入门
  3. Zookeeper实现Master选举(哨兵机制)
  4. 【codevs2488】绿豆蛙的归宿
  5. 解决保存快照失败后redis无法写入的问题( Redis is configured to save RDB snapshots)
  6. 抽象线程之Parallel类
  7. Tomcat基础教程(一)
  8. [问题解决] LaTex Error:Unknown graphics extension:.eps
  9. 算法:合并排序(Merge Sort)
  10. 数组竟然可以这样定义