oracle数据库学习笔记

 

字符函数是ORACLE中最常用的函数:

 

Lower(char):将字符串转化为小写格式

Upper(char):将字符转化为大写的格式

Length(char):返回字符串的长度

Substr(char,m,n):取字符串的子串

Trim,Ltrim,Rtrim:去掉空格





dual 虚表 当没有表可以用的时候 就用虚表
as  当做  可以理解为别名
SELECT   LOWER( 'ABCD' ) AS 字符   FROM DUAL; 
select lower(ename)  as 姓名  from emp;
SELECT   UPPER( 'aaaaa' ) AS 字符   FROM DUAL; 


=  --- 一个等号 表示相等
:= --- 冒号+等号  表示赋值
|| --- 两个竖号   表示字符 连接符号  


select ename  as 姓名, length(ename) as 长度  from emp where  length(ename)=5  ;
1 表示从第一个字符开始,3 表示取3个字符
select ename  as 姓名 ,  substr(ename,1,3) as 前三个字符      from   emp;
select    'A'||  trim('  B B   ')  ||'C' from  dual;
以首字母大写的方式显示所有员工

select ename,  (substr(ename,0,1) ||lower(substr(ename,2,length(ename)-1 )) ) as 姓名  from emp;

Replace (char1,search_string,replace_string)
显示所有的员工姓名将A替换成“我是A”
Instr(char1,char2,[,n[,m]])取字符串的位置
从第二个字符开始找到员工姓名中A所在的位置

select ename,  replace(ename,'A','我是A') as replacename from emp;

从ename中的第2个字符开始找A,找第1个
select ename, instr(ename,'A',2,1)  from emp;



数学函数的输入参数和返回值的数据类型都是数字类型:
常用函数
Round(n,[m])
         四舍五入,如果省掉m,则四舍五入到整数,如果m是整数,则四舍五入到小数点的m位置后,如果是m负数,则  四舍五入到小数点m的位前

 ?  73.2564  四舍五入到小数点后2位

trunc(n,[m])

用户截取数字,如果省略m,就截去小数部分,如果m是整数就截取到小数点后m位后,如果m是负数,则截取到小数点的前m位

    ? 73.2564  截取到小数点后3位
Mod(n,[m])取模
     ?  8%3=?
Floor(n)
返回小于或是等于n的最大整数 向下取整
     ? 7.5846 向下取整
Ceil(n)
返回大于或是等于n的最小整数 向上取整
     ?7.5846 向上取整


对数字的处理在银行和财务系统用的比较多。

--默认四舍五入到整数,四舍五入到小数点后2位
select round(73.2564,2) from dual;

--默认截取到整数,2表示截取到小数点后2位
select trunc(73.2564,2) from dual;
--取余数 
select mod(8,3) from dual;
select Floor(7.5846) from dual;

select ceil(7.5846) from dual;

 

/*
1 sysdate :返回系统时间  oracle所在服务器的时间
2 current_date 返回当前时间  程序所在客户机的时间
3 Next_day(date,week) 给定时间的下一个星期是几号
4 add_months(d,n):返回在时间d上加n个月的时间

5 last_day(d):返回指定日期所在月份的最后一天

 

select sysdate,current_date from dual;
下周一是几号
select next_day(sysdate,'Monday') from dual;
十年前
select add_months(sysdate,-10*12) from dual;
本月的最后一天
select last_day(sysdate) from dual;


--显示满30年份服务年限的员工的姓名和受雇日期
select  *  from emp  where     add_months(sysdate,-30*12)  > hiredate ;
--每个员工加入公司的天数
select round ((sysdate-hiredate)) as  days from emp;
--找出各月倒数第三天受雇的所有员工
select * from emp where  (last_day(hiredate)-2 )=hiredate ;




  to_char  
   yyyy:显示年份
   yy :显示年份后2位
   mm:月份
   dd:号
   hh /hh24:小时
   mi分
   ss秒





select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;



to_char 
9 :显示数字
0 :不足则补0
. :显示小数点
,;  显示分隔符
$ :  显示美元符号
L :  显示本地货币
C : 显示国际货币符号
G : 制定位置显示分割符号
D : 制定位置显示小数点符号
薪水指定货币符号

select ename, sal,to_char(sal,'L00,999.99') from emp;
select ename, sal,to_char(sal,'L00G999D99') from emp;





to_date  字符转换成日期类型
select to_date('15-9月-10') from dual;
To_number  字符转换成数字类型
select to_number('001') from dual;

select to_date('2017-3-15','yyyy-mm-dd') as days  from dual;
select to_number('009')+1 from dual;









Sum   求和
Avg    平均值
Max    最大值
Min     最小值
Count  有值的记录条数
 
聚集函数不能作为条件放到where后面
--分组group by 求和 sum  ---先根据deptno分组,再根据job来分组 ,将分完组之后的 sal 加起来
select   deptno,job, sum(sal)   from emp group by deptno,job;
--根据部门求平均工资
select  deptno ,avg(sal)  from emp group by deptno;
--请查询出每个部门的最高工资和最低工资
select deptno,max(sal),min(sal) from emp group by deptno;
--统计每个部门有多少个员工
select  deptno ,count(*) from emp group by deptno;



  1 、user      显示用户
   
   2 、decode  布尔判断函数 
  
   3 、nvl         空值函数
       



select user  from dual;


select count(*) from emp where job='CLERK'


select job ,decode( job ,'CLERK','A','B'  )  from emp ;


-- 将所有的人的奖金加50  nvl(comm,0) 如果comm是null就设置为0 否则就是原来的数据

update emp set comm=nvl(comm,0)+50 ;

 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并发编程-concurrent指南-线程池ExecutorService的使用

有几种不同的方式来将任务委托给 ExecutorService 去执行: execute(Runnable)submit(Runnable)submit(Callable)invokeAny(…)invokeAll(…)execute(Runnable) execute(Runnable) 方法要求一个 java.lang.Runnable 对象,然后对它进行异步执行。以下是使用…

怎样去理解@ComponentScan注解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 怎么样去理解它呢? 1.配置视图控制器 [java] view plain copy package com.apress.prospringmvc.bookstore.web.config; imp…

oracle 如何创建序列squence

create sequence 序列名 start with 1 increment by 1 nomaxvalue nominvalue nocycle nocache;

如何高效、可移植申请内存代码。

在视频编解码中,如何申请char mem_2D[1920][1080], char mem_3D[4][1920][1080], char mem_4D[6][4][1920][1080],高效 又 可移植申请内存呢? 请看如下代码: 看完后,如要申请的是 int ,不是cha…

CSS中的px与物理像素、逻辑像素、1px边框问题

一直不太清楚CSS中的1px与逻辑像素、物理像素是个什么关系(作为一名前端感觉很惭愧 -_-!),今天终于花时间彻底弄清楚了,其实弄清楚之后就觉得事情很简单,但也只有在弄清楚之后,才会觉得简单&…

平滑数据迁移,不影响服务

为什么80%的码农都做不了架构师?>>> 转自:http://www.10tiao.com/html/249/201703/2651959992/1.html 转载于:https://my.oschina.net/jzgycq/blog/2872104

spring cache相关注解介绍 @Cacheable、@CachePut、@CacheEvict

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Cacheable是用来声明方法是可缓存的。将结果存储到缓存中以便后续使用相同参数调用时不需执行实际的方法。直接从缓存中取值。最简单的格…

layui 渲染select下拉选项 ,日期控件的用法

最近项目中用到关于layui的前端技术&#xff0c;在使用layui 渲染select option下拉复选框时出现了没有值渲染的问题&#xff0c;还有使用layui日期的过程 &#xff0c;接下来就一起看看吧。 /** *从后台渲染字段民族数据/<div class"layui-inline"><labe…

CF1082G Petya and Graph(最小割,最大权闭合子图)

QWQ嘤嘤嘤 感觉是最水的一道\(G\)题了 顺便记录一下第一次在考场上做出来G qwqqq 题目大意就是说&#xff1a; 给你n个点&#xff0c;m条边&#xff0c;让你选出来一些边&#xff0c;最大化边权减点权 \(n\le 1000\) QWQ 看完这个题和数据范围&#xff0c;第一感觉就是网络流啊…

NET Core微服务之路:让我们对上一个Demo通讯进行修改,完成RPC通讯

最近一段时间有些事情耽搁了更新&#xff0c;抱歉各位了。上一篇我们简单的介绍了DotNetty通信框架&#xff0c;并简单的介绍了基于DotNetty实现了回路&#xff08;Echo&#xff09;通信过程。我们来回忆一下上一个项目的整个流程&#xff1a;当服务端启动后&#xff0c;绑定并…

Centos7防火墙设置

查看防火墙状态 or rootlocalhost ~]# systemctl status firewalld / firewall-cmd --state 启动防火墙 [rootlocalhost ~]# systemctl start firewalld 关闭防火墙 [rootlocalhost ~]# systemctl stop firewalld 设置开机启动 [rootlocalhost ~]# systemctl enable fi…

HTTP协议中POST、GET、HEAD、PUT等请求方法及相应值得含义

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 请求方法是请求一定的Web页面的程序或用于特定的URL。可选用下列几种&#xff1a; GET&#xff1a; 请求指定的页面信息&#xff0c;并…

java面试题文档(QA)

– 基础篇 1、 Java语言有哪些特点2、面向对象和面向过程的区别3 、八种基本数据类型的大小&#xff0c;以及他们的封装类4、标识符的命名规则。5、instanceof 关键字的作用6、Java自动装箱与拆箱7、 重载和重写的区别8、 equals与的区别9、 Hashcode的作用10、String、String …

第四次软件工程作业

关于 石墨文档客户端 的案例分析 作业地址&#xff1a; https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505 第一部分 调研&#xff0c; 评测 1.下载并使用&#xff0c;按照描述的bug定义&#xff0c;找3~5个功能性的比较严重的bug。请用专业的语言描述&#xff08;每个…

深入剖析C++中的string类

一&#xff0c;C语言的字符串 在C语言里&#xff0c;对字符串的处理一项都是一件比较痛苦的事情&#xff0c;因为通常在实现字符串的操作的时候都会用到最不容易驾驭的类型——指针。 比如下面这个例子&#xff1a; //example 1: char str[12] "Hello"; char *…

Apple System: Error: ENFILE: file table overflow

2019独角兽企业重金招聘Python工程师标准>>> 在MAC上跑nodejs&#xff0c;遇到了一个问题&#xff1a;file table overflow 主要意思就是说文件打开太多了&#xff0c;超过了限制&#xff0c;产生这个问题主要是苹果操作系统的限制。 echo kern.maxfiles65536 | sud…

springboot的缓存技术

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我门知道一个程序的瓶颈在于数据库&#xff0c;我门也知道内存的速度是大大快于硬盘的速度的。当我门需要重复的获取相同的数据的时候&a…

深度优先遍历解决连通域求解问题-python实现

问题描述 在一个矩形网格中每一个格子的颜色或者为白色或者为黑色。任意或上、或下、或左、或右相邻同为黑色的格子组成一个家族。家族中所有格子的数量反映家族的大小。要求找出最大家族的家族大小&#xff08;组成最大家族的格子的数量&#xff09;并统计出哪些点属于哪一族。…

字符串进阶

C风格字符串 1、字符串是用字符型数组存储的&#xff0c;字符串要求其尾部以’\0’作为结束标志。如&#xff1a; char string[ ]”C programming language”; 用sizeof来测string长度为25个字节&#xff0c;而实际串本身长度(含空格)为24个字节&#xff0c;多出来的一个就是…

flask上传excel文件,无须存储,直接读取内容

运行环境python3.6 import xlrd from flask import Flask, requestapp Flask(__name__)app.route("/", methods[POST, GET]) def filelist1():print(request.files)file request.files[file]print(file, type(file), file)print(file.filename) # 打印文件名f …