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;

时间: 2024-12-25 14:50:22

oracle 数据库学习3 --oracle 数据库中常使用的函数的相关文章

数据库学习之--Oracle 架构与MySQL架构对比

数据库学习之--Oracle 架构与MySQL架构对比 一.Oracle .MySQL应用对比 如果要说明三者的区别,首先就要从历史入手. Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision. Ellision 32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十几家公司,老婆也离他而去.开始创业时只有1200美元,却使得Oracle公司连续12年销售额每年翻一番. Oracle成立于1977年,早期的理论基础,反而来自于一篇IBM的论文<A

Oracle菜鸟学习之 Oracle基础命令

首发:http://www.arppinging.com/wordpress/?p=93 Oracle菜鸟学习之 Oracle基础命令 1.connect和show user 连接用户和查看当前用户 SQL> show user; USER is "SCOTT" SQL> conn /as sysdba Connected. SQL> show user USER is "SYS" SQL> 2.clear screen 清除屏幕输出 3.s

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

在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构:  (1) AVFormatContext  AVFormatContext是一个贯穿始终的数据结构,很多函数都要用到它作为参数.FFmpeg代码中对这个数据结构的注释是:format I/O context 此结构包含了一个视频流的格式内容.其中存有了AVInputFormat(or AVOutputFormat同一时间AVFormatContext内只能存在其中一个),和AVStream.AVPack

MySQL数据库学习三 MySQL数据库基本操作

3.1 数据库和数据对象 1. 系统数据库 information_schema:主要存储系统中的一些数据库对象信息,如用户列表信息.列信息.权限信息.字符集信息和分区信息等. performance_schema:主要存储数据库服务器性能参数. mysql:主要存储系统的用户权限信息. test:测试数据库,任何用户都可以使用. 2. 用户数据库 数据库对象,是指存储.管理和使用数据的不同结构形式,主要包含表.视图.存储过程.函数.触发器和事件等. 3.2 数据库相关操作 1. 创建数据库 c

数据库学习 day1 认识数据库

从SQL的角度而言,数据库是一个以某种有组织的方式储存的数据集合. 我们可以把它比作一个"文件柜",这个"文件柜"是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的. 下面介绍几个术语 数据库(database) 保存有组织的数据容器 注意:数据库和实际使用的软件无关,数据库软件应称为数据库管理系统(DBMS). 表(table) 某种特定类型数据的结构清单. 储存在表中的数据硬是同一种类型的数据或清单.绝不应该将用户的清单和订单的清单放在一个表中,否

数据库学习之(8)数据库恢复的实现--各种数据转储方法

数据转储:是数据库恢复中采用的基本技术.所谓转储即DBA 定期地将数据库复制到磁带或另一个磁盘上保存起来的过程.当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态. 静态转储:在系统中无运行事务时进行的转储操作.静态转储简单,但必须等待正运行的用户事务结束才能进行.同样,新的事务必须等待转储结束才能执行.这会降低数据库的可用性. 动态转储:指转储期间允许对数据库进行存取或修改.动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行.但是,转储结束

数据库学习之mysql数据库

参考链接网站: http://c.biancheng.net/view/2361.html Mysql的版本以及版本号 MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持. MySQL Enterprise Server(企业版):该版本能够以很高的性价比为企业提供数据仓库应用,支持 ACID 事物处理,提供完整的提交.回滚.崩溃恢复和行级锁定功能,但是该版本需要付费使用,官方提供电话技术支持. Mysql服务器端实用工具: http://c.bian

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

在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构. 1. 数据结构:  (1) AVFormatContext  AVFormatContext是一个贯穿始终的数据结构,很多函数都要用到它作为参数.FFmpeg代码中对这个数据结构的注释是:format I/O context 此结构包含了一个视频流的格式内容.其中存有了AVInputFormat(or AVOutputFormat同一时间AVFormatContext内只能存在其中一个),和AVStream.AVPack

Oracle进阶学习之创建数据库

写在前面: Oracle在创建用户的时候默认使用的表空间为User,我们一般不建议这样做,因为默认表空间的大小是固定的,如果我们创建的所有用户都使用默认的表空间会导致表空间空间不足,会导致指向User表空间的所有用户无法正常使用,听起来是多么可怕的一件事情,所以建议大家规范的使用数据库,规范的进行创建用户,在这里笔者建议大家给每个用户都单独创建一个表空间对象. 如何创建一个用户呢,笔者建议分为如下三个步骤: 1.创建表空间 create tablespace empit logging data