首页 数据库 mysql教程 Oracle函数学习笔记分享

Oracle函数学习笔记分享

Jun 07, 2016 pm 04:51 PM
oracle 数据库

1. Oracle单行函数1.1 Oracle字符函数LOWER 使字符串小写;select LOWER(#39;HeLp#39;) from dual ---gt;helpUPPER 使字符串大

1. Oracle单行函数

1.1 Oracle字符函数

LOWER 使字符串小写;
select LOWER('HeLp') from dual --->help

UPPER 使字符串大写;
select UPPER('HeLp') from dual --->HELP

INITCAP 使字符串的第一个字母大写,其它为小写
select INITCAP('hELp') from dual --->Help

LENGTH 返回表达式中的字符串长度
select LENGTH('hELP') from dual ---->4

CONCAT 将值连接到一起(,对于此函数,只能使用2个参数)
select CONCAT('Hello', 'World') from dual --->HelloWorld

SUBSTR 抽取确定长度的字符串
select SUBSTR('HelloWorld',1,5) from dual ---->Hello

INSTR 查找指定字符的数字位置
select INSTR('HelloWorld', 'W') from dual --->6

LPAD 按右对齐填充字符串
select LPAD(salary,10,'*') from dual --->*****24000

RPAD 按左对齐填充字符串
select RPAD(salary, 10, '*') from dual --->24000*****

TRIM(leading|trailing|both,trim_character FROM trim_source) 从字符串中截去头部或者尾部的字符(或者头尾都截掉)(如果trim_character或trim_source是一个字符型文字值,则必须将它包含在单引号之内。)
select TRIM('H' FROM 'HelloWorld') from dual --->elloWorld

REPLACE(text,search_string,replacement_string) 搜索字符串的文本表达式,如果找到,用指定的替代字符串替换它。
select REPLACE('HelloWorld','Hello','hi') from dual --->hiWorld

1.2数字函数

ROUND 将值四舍五入到指定的位数
ROUND(45.926, 2) ---->45.93

TRUNC 将值截断到指定的小数位(不舍入)
TRUNC(45.926, 2) ---->45.92

MOD 返回除法运算的余数
MOD(1600, 300) --->100

1.3 日期函数

在oracle中,日期是以数字的形式存储的,故可以直接对日期类型的数据进行+-*/等运算。

MONTHS_BETWEEN 两个日期之间的月数,结果以月为单位
MONTHS_BETWEEN(date1, date2)

ADD_MONTHS 将日历月份添加到日期中
ADD_MONTHS(date, n) n为月数

NEXT_DAY 指定日期的下一个月
NEXT_DAY(date, 'char') char可以是星期,月数

LAST_DAY 月份的最后一天
LAST_DAY(date)

ROUND 四舍五入日期
ROUND(date[, 'fmt'])

设置日期格式:alter session set nls_date_format='yyyy-mm-dd:hh24:mi:ss'

TRUNC 截断日期
TRUNC(date[, 'fmt'])

1.4 转换函数

TO_CHAR(number|date,'[fmt]',[nlsparams])将数字和日期值转换为格式样式为fmt的varchar2字符串。
nlsparams参数指定返回的月份名称、日期名称以及缩写所用的语言。

TO_NUMBER(char,'[fmt]',[nlsparams])将包含数字的字符串转换为格式样式为fmt指定的格式表示的数字。
nlsparams参数与TO_CHAR()相同,是进行数字转换。

TO_DATE(char,'[fmt]',[nlsparams])将代表日期的字符串按照指定的fmt转换为日期值。如果省略了fmt,则格式为DD-MON-YY。
nslparams参数在此函数中的用途是进行日期转换。

1.5嵌套函数

NVL (expr1, expr2) 将空值转换为实际的值。

NVL2 (expr1, expr2, expr3) 如果expr1为非空,返回expr2。如果expr1为空值,将返回expr3。expr1可以是任何数据类型。

NULLIF (expr1, expr2) 比较2个值,如相等,返回空值,否则返回第一个表达式。

COALESCE (expr1, expr2, ..., exprn) 返回表达式中第一个非空值。

1.6 条件表达式

CASE表达式(符合ANSISQL)
通过执行IF-THEN-ELSE语句的任务,可以简化条件查询
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END

DECODE函数(Oracle专用语法)
通过执行IF-THEN-ELSE语句的任务,可以简化条件查询
DECODE(col|expression, search1, result1
[, search2, result2,...,]
[, default])


2、分组函数

使用分组函数的准则:
DISTINCT 使函数只考虑非重复值;ALL使之考虑包括重复值在内的所有值。默认值为ALL,因此它不需
要专门指定。
带有expr参数的函数的数据类型可以是CHAR、VARCHAR2、NUMBER或者DATE。
所有分组函数都忽略空值。要用一个值代替空值,可以使用NVL、NVL2或者COALESCE函数。
在使用GROUP BY 字句时,Oracle服务器隐式地按照升序对结构集进行排序。要改写此默认顺序,可以
在ORDER BY 字句中使用DESC。

2.1 AVG([DISTINCT|ALL]n) n的平均值,忽略空值

2.2 COUNT({*|[DISTINCT|ALL]expr}) 行数,其中expr用来判断非空值(使用*计算所有选定行,包括重
复行和带有空值的行)

2.3 MAX([DISTINCT|ALL]expr) expr的最大值,,忽略空值

2.4 MIN([DISTINCT|ALL]expr) expr的最小值,忽略空值
注:可以对任何数据类型使用MIN 和 MAX 函数

2.5 STDDEV([DISTINCT|ALL]x) n的标准偏差,忽略空值

2.6 SUM([DISTINCT|ALL]n) n的总计值,忽略空值

2.7 VARIANCE([DISTINCT|ALL]x) n的方差,忽略空值
例1:
SELECT AVG(salary), MAX(salary),
MIN(salary), SUM(salary)
FROM employees
WHERE job_id LIKE '%REP%';
例2:
SELECT MIN(hire_date), MAX(hire_date)
FROM employees;
例3:
SELECT COUNT(*)
FROM employees
WHERE department_id = 50;

2.8 GROUP BY 字句
语法:GROUP BY group_by_expression group_by_expression--->指定列,这些列的值是对行进行分组的基础。
作用:通过使用GROUP BY字句将表中的行分成更小的组。也可以对多个列使用GROUP BY子句。
例4:
SELECT department_id dept_id, job_id, SUM(salary)
FROM employees
GROUP BY department_id, job_id ;
注意:
A、 SELECT 列表中不是聚合函数的任何列或表达式都必须在GROUP BY子句中。
B、 不能使用 WHERE 子句来限制组;
C、 可以使用HAVING子句来限制组;
D、 不能在 WHERE 子句中使用分组函数。

2.9 嵌套分组函数
分组函数可以嵌套两层。
例5:
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;

linux

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1669
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
MySQL:世界上最受欢迎的数据库的简介 MySQL:世界上最受欢迎的数据库的简介 Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

oracle怎么循环创建游标 oracle怎么循环创建游标 Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循环可动态创建游标, 步骤为:1. 定义游标类型;2. 创建循环;3. 动态创建游标;4. 执行游标;5. 关闭游标。示例:可循环创建游标,显示前 10 名员工姓名和工资。

为什么要使用mysql?利益和优势 为什么要使用mysql?利益和优势 Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

oracle视图怎么导出 oracle视图怎么导出 Apr 12, 2025 am 06:15 AM

可以通过 EXP 实用程序导出 Oracle 视图:登录 Oracle 数据库。启动 EXP 实用程序,指定视图名称和导出目录。输入导出参数,包括目标模式、文件格式和表空间。开始导出。使用 impdp 实用程序验证导出。

oracle日志写满怎么办 oracle日志写满怎么办 Apr 12, 2025 am 06:09 AM

Oracle 日志文件写满时,可采用以下解决方案:1)清理旧日志文件;2)增加日志文件大小;3)增加日志文件组;4)设置自动日志管理;5)重新初始化数据库。在实施任何解决方案前,建议备份数据库以防数据丢失。

MySQL与其他数据库:比较选项 MySQL与其他数据库:比较选项 Apr 15, 2025 am 12:08 AM

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

甲骨文在商业世界中的作用 甲骨文在商业世界中的作用 Apr 23, 2025 am 12:01 AM

Oracle不仅是数据库公司,还是云计算和ERP系统的领导者。1.Oracle提供从数据库到云服务和ERP系统的全面解决方案。2.OracleCloud挑战AWS和Azure,提供IaaS、PaaS和SaaS服务。3.Oracle的ERP系统如E-BusinessSuite和FusionApplications帮助企业优化运营。

HDFS配置CentOS需要哪些步骤 HDFS配置CentOS需要哪些步骤 Apr 14, 2025 pm 06:42 PM

在CentOS系统上搭建Hadoop分布式文件系统(HDFS)需要多个步骤,本文提供一个简要的配置指南。一、前期准备安装JDK:在所有节点上安装JavaDevelopmentKit(JDK),版本需与Hadoop兼容。可从Oracle官网下载安装包。环境变量配置:编辑/etc/profile文件,设置Java和Hadoop的环境变量,使系统能够找到JDK和Hadoop的安装路径。二、安全配置:SSH免密登录生成SSH密钥:在每个节点上使用ssh-keygen命令

See all articles