ORACLE 常用函数总结(80个)

ORACLE 常用函数总结(80个) - 完整攻略

简介

本文档总结了 ORACLE 数据库常见的 80 种函数,分为以下几个部分:

  1. 字符串函数
  2. 数字函数
  3. 日期函数
  4. 转换函数
  5. 聚合函数
  6. 分析函数

在使用这些函数之前,您需要具备一定的 ORACLE 数据库基础知识。

字符串函数

1. LENGTH函数

该函数用于返回字符串的长度,其语法如下:

LENGTH(string)

示例:

SELECT LENGTH('Hello, world!') FROM dual;
-- 结果为 13

2. SUBSTR函数

该函数用于返回字符串子串,其语法如下:

SUBSTR(string, start[, length])

其中,start 参数是开始位置的索引(从 1 开始),length 参数可选,表示子串的长度。

示例:

SELECT SUBSTR('Hello, world!', 7) FROM dual;
-- 结果为 world!

SELECT SUBSTR('Hello, world!', 7, 5) FROM dual;
-- 结果为 world

3. INSTR函数

该函数用于返回某个子串在字符串中第一次出现的位置,其语法如下:

INSTR(string, substring[, start[, occurrence]])

其中,string 是原始字符串,substring 是要查找的子串,start 是开始查找的位置(可选,默认为 1),occurrence 是要查找的子串的序号(可选,默认为 1)。

示例:

SELECT INSTR('Hello, world!', 'world') FROM dual;
-- 结果为 7

SELECT INSTR('Hello, world!', 'o', 5, 2) FROM dual;
-- 结果为 8

4. TRIM函数

该函数用于去除字符串两端的空格(或者其他字符),其语法如下:

TRIM([LEADING|TRAILING|BOTH] trim_character FROM string)

其中,LEADING 表示去除左边的字符,TRAILING 表示去除右边的字符,BOTH 表示左右两边都去除,trim_character 是要去除的字符,默认为空格。

示例:

SELECT TRIM('   Hello, world!   ') FROM dual;
-- 结果为 Hello, world!

SELECT TRIM(LEADING 'a' FROM 'aaaaaHello, world!aaaaa') FROM dual;
-- 结果为 Hello, world!aaaaa

数字函数

1. ROUND函数

该函数用于对数字进行四舍五入,其语法如下:

ROUND(number[, decimals])

其中,number 是要进行四舍五入的数字,decimals 表示要保留的小数位数(可选,默认为 0)。

示例:

SELECT ROUND(3.1415926, 2) FROM dual;
-- 结果为 3.14

2. TRUNC函数

该函数用于截取小数点后面的数字,其语法如下:

TRUNC(number[, decimals])

其中,number 是要截取的数字,decimals 表示要保留的小数位数(可选,默认为 0)。

示例:

SELECT TRUNC(3.1415926, 2) FROM dual;
-- 结果为 3.14

3. MOD函数

该函数用于计算两个数字相除的余数,其语法如下:

MOD(numerator, denominator)

其中,numerator 是分子,denominator 是分母。

示例:

SELECT MOD(10, 3) FROM dual;
-- 结果为 1

日期函数

1. SYSDATE函数

该函数用于获取当前的系统日期和时间,其语法如下:

SYSDATE

示例:

SELECT SYSDATE FROM dual;
-- 结果为当前的系统日期和时间

2. ADD_MONTHS函数

该函数用于在日期上增加指定的月数,其语法如下:

ADD_MONTHS(date, months)

其中,date 是要增加月份的日期,months 是要增加的月数。

示例:

SELECT ADD_MONTHS(SYSDATE, 2) FROM dual;
-- 结果为当前日期加 2 个月后的日期

3. MONTHS_BETWEEN函数

该函数用于计算两个日期之间相差的月数,其语法如下:

MONTHS_BETWEEN(date1, date2)

其中,date1date2 是要计算的两个日期。

示例:

SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('20210101', 'YYYYMMDD')) FROM dual;
-- 结果为当前日期和 2021 年 1 月 1 日相差的月数

转换函数

1. TO_CHAR函数

该函数用于将数值、日期等类型转换为字符类型,其语法如下:

TO_CHAR(value[, format])

其中,value 是要转换的值,format 是转换后的格式(可选)。

示例:

SELECT TO_CHAR(1234.5678, '9999.9999') FROM dual;
-- 结果为 1234.5678

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual;
-- 结果为当前日期和时间的格式化字符串

2. TO_NUMBER函数

该函数用于将字符类型转换为数值类型,其语法如下:

TO_NUMBER(string[, format])

其中,string 是要转换的字符串,format 是转换后的格式(可选)。

示例:

SELECT TO_NUMBER('1234.5678', '9999.9999') FROM dual;
-- 结果为 1234.5678

聚合函数

1. AVG函数

该函数用于计算某一列的平均值,其语法如下:

AVG(column)

其中,column 是要计算平均值的列。

示例:

SELECT AVG(salary) FROM employees;
-- 计算 employees 表中 salary 列的平均值

2. COUNT函数

该函数用于计算某一列的行数,其语法如下:

COUNT(column|*)

其中,column 是要计算行数的列,* 表示计算所有行数。

示例:

SELECT COUNT(*) FROM employees;
-- 计算 employees 表的总行数

3. MAX函数

该函数用于计算某一列的最大值,其语法如下:

MAX(column)

其中,column 是要计算最大值的列。

示例:

SELECT MAX(salary) FROM employees;
-- 计算 employees 表中 salary 列的最大值

4. MIN函数

该函数用于计算某一列的最小值,其语法如下:

MIN(column)

其中,column 是要计算最小值的列。

示例:

SELECT MIN(salary) FROM employees;
-- 计算 employees 表中 salary 列的最小值

5. SUM函数

该函数用于计算某一列的总和,其语法如下:

SUM(column)

其中,column 是要计算总和的列。

示例:

SELECT SUM(salary) FROM employees;
-- 计算 employees 表中 salary 列的总和

分析函数

1. DENSE_RANK函数

该函数用于计算某一列的排名,其语法如下:

DENSE_RANK() OVER (ORDER BY column [ASC|DESC])

其中,column 是要排名的列,ASC 表示升序排列,DESC 表示降序排列。

示例:

SELECT employee_id, salary, DENSE_RANK() OVER (ORDER BY salary DESC) FROM employees;
-- 计算 employees 表中 salary 列的排名

2. LAG函数

该函数用于查询前一个数据,其语法如下:

LAG(column [, offset [, default]]) OVER (ORDER BY column)

其中,column 是要查询的列,offset 表示偏移量,default 表示默认值。

示例:

SELECT employee_id, salary, LAG(salary, 1, 0) OVER (ORDER BY salary DESC) as previous_salary FROM employees;
-- 计算 employees 表中 salary 列的前一个数据

以上只是本文档的一部分函数,更多函数请查看本文档。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ORACLE 常用函数总结(80个) - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • Oracle触发器和程序包的基本介绍

    我们先来介绍一下Oracle触发器和程序包。 一、Oracle触发器介绍 Oracle触发器是一种特殊的PL/SQL程序,它会在某种特定的事件发生时自动执行。这些事件可能包括SQL语句的执行、表的插入、更新或删除等。Oracle触发器通常用来对表中的数据进行管理和控制,例如在行插入时生成默认值、记录插入、更新和删除等。 触发器通常分为以下两种类型: 行级触发…

    database 2023年5月21日
    00
  • MySql常用数据类型与操作详解

    MySql常用数据类型与操作详解 数据类型 数值类型 MySQL中常见的数值类型有TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE等。具体特点如下: TINYINT:有符号范围为-128~127,无符号范围为0~255。 SMALLINT:有符号范围为-32768~32767,无符号范围为0~65535。 …

    database 2023年5月22日
    00
  • oracle查询锁表与解锁情况提供解决方案

    Oracle 查询锁表与解锁的情况提供解决方案 什么是锁表 在 Oracle 数据库中,锁是一种用于保护数据完整性和一致性的机制。当多个用户同时访问一个对象时,通过锁来保证对该对象的操作能够顺序执行,以避免产生不一致的结果。 锁分为共享锁和排他锁两种。共享锁允许并发读取,但不能进行写操作;排他锁则是独占模式,其他用户不能对该对象进行读写操作。 如果一个用户正…

    database 2023年5月21日
    00
  • SQL Server中使用SQL语句实现把重复行数据合并为一行并用逗号分隔

    首先,我们需要使用 SQL 语句来把重复行数据合并为一行并用逗号分隔,可以通过以下步骤来完成: 步骤一:创建测试数据表 我们需要创建测试数据表,以便后面的两个示例可以使用相同的数据进行演示。下面是创建测试表的 SQL 语句: CREATE TABLE dbo.test_data ( id INT PRIMARY KEY, name NVARCHAR(50),…

    database 2023年5月21日
    00
  • Derby 和 MS SQL Server 的区别

    Derby和MS SQL Server都是关系型数据库管理系统,但它们之间存在一些显著的区别,下面我们将从以下几个方面进行详细分析。 1. 开发者和授权 Derby是由Apache Software Foundation(ASF)开发和维护的开源数据库管理系统。任何人都可以免费使用、修改和分发它的源代码,它的代码库和开发计划都是公开可见的。 Microsof…

    database 2023年3月27日
    00
  • 同一个sql语句 连接两个数据库服务器

    连接两个数据库服务器可以使用MySQL的Federated存储引擎。Federated存储引擎可以将远程MySQL服务器的数据表视为本地数据表,从而实现对多台数据库服务器的访问。 下面是连接两个数据库服务器的完整攻略: 1.创建Federated引擎表 首先,在本地MySQL服务器上创建一个Federated引擎表,该表将访问远程MySQL服务器上的数据表。…

    database 2023年5月21日
    00
  • centos安装Redis和设置远程访问

    记录下步骤以后用到时翻一翻。 在centos下载依赖库: yum install gcc tcl   在redis官网的下载页面,这里可以选择离线包或在线下载。 我选择在线的,在下载页面往下拉到 Installation 这里官方已经教你如何在线下载了,我们按步骤来。   在centos找一个位置,我选择/usr/local/software/目录下 执行 …

    Redis 2023年4月13日
    00
  • Couchbase 和 MongoDB的区别

    Couchbase和MongoDB都是目前市场上比较流行的NoSQL数据库,二者各有特点。接下来将从架构、功能、性能、可靠性等多个角度详细讲解Couchbase和MongoDB的区别,并提供实例说明。 1.架构 Couchbase和MongoDB的架构有所不同。Couchbase全面基于内存的架构为它提供了卓越的性能和可靠性。 Couchbase的架构采用分…

    database 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部