oracle 数据库学习3 --oracle 数据库中常使用的函数
1.字符函数:
ASCII(X) -->返回X字符的ASCII码
concat(x,y)-->将y连接到X上输出
select concat(first_name,last_name) from customers;
INITCAP(x) 将x中每个单词的首字母大写
INSTR('namename','e',1,2) -->从'namename'开始的第一个字母开始找'e'第二次出现的位置;
LENGTH(x) 获取X字符串的长度;
LOWER(x) 将x中的字母转换为小写;
UPPER(x) 将X中的字母转换为大写;
LPAD(x,10,'n')-->在X字符串的左边补'n'字符,使x的总长度达到10个字符;
RPAD(x,10,'r')
LTRIM
例如:
LTRIM(' hello ,my friends! ') --> 默认截取左边的空字符串
RTRIM('HI this is a dog.','dog.')-->截取右边的'dog.'字符
NVL nvl(phone,'this is a null value')--将phone字段中空值转换为字符串'this is a null value'
NVL2(x,value1,value2) 如果X为非空,则为value1,否则返回value2
REPLACE('name','m','n') ->将name中的'm'替换为n
SUBSTR(name,2,7) 从name的第二个字符开始,取长度为7个字符;
2.数字函数
ABS(-10) 得到-10的绝对值10
CELL(5.8) 取得大于或者等于5.8的最小整数 6
CELL(-5.2) -> -5
FLOOR(5.8) 取得小于或者等于x的最大整数 5
FLOOR(-5.2) -6
MOD(8,3) ->取8除以5所得的余数 3
POWER(2,1) -》取2的一次方
ROUND(5.75) 对5.75向上取整 为6
to_char(1234.5678,'99999.99') -->将数字转换为字符串,并按照指定的格式
REGEXP_LIKE() -->匹配正则表达式
3.聚合函数
AVG(x) 平均值
COUNT(x) ,count(*) 比count(1)执行时需要的时间更长,因此避免使用count(*)
MAX(x) 返回X的最大值
MEDIAN(x) 返回X的中间值
MIN(x) 返回X的最小值
STDDEV(x) 返回X的标准差
SUM(x) 返回x的和
GROUP BY 将行分组成具有相同列值的多个部分
聚合函数是和 group by 分组配合使用
例如: select product_type_id ,AVG(price) from products; 错误 ORA-00937:not a single-group group function.
不能在where子句中用聚合函数
例如: select product_type_id ,avg(price)
from products
where avg(price)>30
group by product_type_id; 错误 ,因为where只能是对单行而不是行组过滤,要过滤分组的行的条件,可以使用having。
正确做法:
select product_type_id ,avg(price)
from products
group by product_type_id
having avg(price)>20;
WHERE 和GROUP BY 的组合使用
where 对products表中的行进行过滤,只保留price<15的行,然后GROUP BY 对保留的行根据product_type_id进行分组
select product_type_id ,AVG(price)
from products
where price <15
group by product_type_id
order by product_type_id;
WHERE 、GROUP BY、HAVING的组合使用
select product_type_id,AVG(price)
from products
where price <15
group by product_type_id
having avg(price) >13
order by price_type_id;
oracle 数据库学习3 --oracle 数据库中常使用的函数的更多相关文章
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- oracle 10g 学习之oracle管理(3)
怎样将预先写好的sql脚本执行? select * from employees;→107条记录 利用 Oracle 企业管理器连接数据库服务器 点击打开以下界面: 此时已经连接成功了 用 Oracl ...
- 数据库学习之mysql数据库
参考链接网站: http://c.biancheng.net/view/2361.html Mysql的版本以及版本号 MySQL Community Server(社区版):该版本完全免费,但是官方 ...
- 数据库学习 day1 认识数据库
从SQL的角度而言,数据库是一个以某种有组织的方式储存的数据集合. 我们可以把它比作一个“文件柜”,这个“文件柜”是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的. 下面介绍几个术语 ...
- 零基础学习视频解码之FFMpeg中比较重要的函数以及数据结构
http://www.cnblogs.com/tanlon/p/3879081.html 在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构: (1) AVF ...
- [原]零基础学习视频解码之FFMpeg中比较重要的函数以及数据结构
在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构: (1) AVFormatContext AVFormatContext是一个贯穿始终的数据结构,很多函 ...
- oracle入门学习之oracle数据库结构
1. oracle数据库结构 1.1 Oracle可以看做是一个大的数据库???,里面可以创建很多实例; 一个实例对应多个表空间.多个用户; 一个用户只能有一个表空间; 一个表空间可以有多个用户; 一 ...
- oracle上课 学习2 oracle 游标 存储过程 有用
1.1. 训练描述 使用游标,打印emp中20号部门的所有员工的信息 操作步骤答案 declare cursor c_emp is select * from emp where deptno=10 ...
- JavaScript总结学习一:js中构造函数与普通函数的区别
构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...
随机推荐
- 经典算法C++版(参考一线码农博文)
鉴于一线码农的算法博文基本通过C#完成,此处用C++再实现一遍,具体解法可参考其博文. 地址:http://www.cnblogs.com/huangxincheng/category/401959. ...
- WinForm DataGridView分页功能
WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件 .CS: 1 using System; ...
- 可分组的选择框控件(MVVM下)(Toggle样式 仿造单选框RadioButton,复选框CheckBox功能)
原地址: http://www.cnblogs.com/yk250/p/5660340.html 效果图如下:支持分组的单选框,复选框样式和MVVM下功能的实现.这是项目中一个快捷键功能的扩展. 1, ...
- C# 6.0可能的新特性及C#发展历程
据扯,C# 6.0在不远的将来就发布了,对应的IDE可能是VS 2014(.Net Framework 5.0),因为VS 2013已于2013年10月份发布了,对应的是.Net Franework ...
- HTTP头的Expires与Cache-control
HTTP头的Expires与Cache-control 1.概念 Cache-control用于控制HTTP缓存(在HTTP/1.0中可能部分没实现,仅仅实现了Pragma: no-cache) 数据 ...
- Java线程:概念与原理
Java线程:概念与原理 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程 ...
- webstorm编辑RN代码提示功能
需要下载一个文件. 1. 进入你想存储这个文件的目录,按住shift+鼠标右键,选择“在此处打开命令窗口” 2. 在命令窗口中输入 git clone https://github.com/virt ...
- oracle DBlink 【转】
. 实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中. 二. 实现方法步骤: 1. 创建 ...
- 从request获取远程IP地址
public static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("X-F ...
- gdb汇编调试
GDB调试汇编堆栈分析 代码: sudo apt-get install libc6-dev-i386命令安装所需库 进入之后先在main函数处设置一个断点,再run一下,使用disassemble指 ...