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 数据库中常使用的函数的更多相关文章

  1. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  2. oracle 10g 学习之oracle管理(3)

    怎样将预先写好的sql脚本执行? select * from employees;→107条记录 利用 Oracle 企业管理器连接数据库服务器 点击打开以下界面: 此时已经连接成功了 用 Oracl ...

  3. 数据库学习之mysql数据库

    参考链接网站: http://c.biancheng.net/view/2361.html Mysql的版本以及版本号 MySQL Community Server(社区版):该版本完全免费,但是官方 ...

  4. 数据库学习 day1 认识数据库

    从SQL的角度而言,数据库是一个以某种有组织的方式储存的数据集合. 我们可以把它比作一个“文件柜”,这个“文件柜”是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的. 下面介绍几个术语 ...

  5. 零基础学习视频解码之FFMpeg中比较重要的函数以及数据结构

    http://www.cnblogs.com/tanlon/p/3879081.html 在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构:  (1) AVF ...

  6. [原]零基础学习视频解码之FFMpeg中比较重要的函数以及数据结构

    在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构:  (1) AVFormatContext  AVFormatContext是一个贯穿始终的数据结构,很多函 ...

  7. oracle入门学习之oracle数据库结构

    1. oracle数据库结构 1.1 Oracle可以看做是一个大的数据库???,里面可以创建很多实例; 一个实例对应多个表空间.多个用户; 一个用户只能有一个表空间; 一个表空间可以有多个用户; 一 ...

  8. oracle上课 学习2 oracle 游标 存储过程 有用

    1.1. 训练描述 使用游标,打印emp中20号部门的所有员工的信息 操作步骤答案 declare cursor c_emp  is select * from emp where deptno=10 ...

  9. JavaScript总结学习一:js中构造函数与普通函数的区别

    构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...

随机推荐

  1. DataGridView 导出到Excel

    #region 导出四个表格到Excel /// <summary> /// 导出四个表格到Excel /// </summary> /// <param name=&q ...

  2. CentOS7:安装Puppet

    环境说明: 192.168.154.137 master.localdomain #Puppet Server 192.168.154.138 agent1.localdomain #Puppet A ...

  3. PHP常用库函数

    1.时间和日期 如何获取时间戳 time()--从1970年开始计算的毫秒数 echo time(); 日期 echo date('Y-m-d H:i:s'); 获取默认是时区 echo date_d ...

  4. Why is Visual Studio 2015 not able to find or open PDB files?

    first change parameters, Tools->Options->Debugging->Symbols->Microsoft Symbol Server, ye ...

  5. (转)C# 打印PDF文件使用第三方DLL

    本文为转载,原文:http://www.cnblogs.com/Yesi/p/5066835.html DLL地址:https://freepdf.codeplex.com 下面是该解决方案的详细代码 ...

  6. ios 逆向收录

    lldb 远程调试环境搭建:http://www.cnblogs.com/csutanyu/p/3653252.html

  7. Latex感想

    看人家,一个小女生,被导师逼着,首先对电脑方面理解不多,3天时间,latex已经把Paper框架建立起来,我可以说我自愧不如吗?德鲁克<卓有成效的管理者>说的一次干一件事情,<冬吴相 ...

  8. linux 进程的创建

    1. 进程号: 每个进程在被初始化的时候,系统都会为其分配一个唯一标识的进程id,称为进程号: 进程号的类型为pid_t,通过getpid()和getppid()可以获取当前进程号和当前进程的父进程的 ...

  9. 【原创】安装LoadRunner12.53 版本时出现Critical error的解决方法

    步骤: 1.在官网上下载LoadRunner12.53正版,只不过要注册,然后官网会给个序列号. 2.安装成功之后,快捷键已创建,打开Virtual User Generator时,提示如下错误: 此 ...

  10. strcpy和memcpy的区别(转载)

    strcpy和memcpy都是标准C库函数,它们有下面的特点.strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. 已知strcpy函 ...