oracle常用函数详解(详细),oracle基本函数

oracle常用函数详解(详细),oracle基本函数,详细整理Oracle中常用函数

本文详细讲解了Oracle中常用的函数,通过示例代码非常详细。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。

:

目录

1.字符串函数2,数字函数3,日期函数4,转换函数5,其他单行函数6。聚集函数oracle数据库中使用的函数主要有两种类型:

1.单行函数:操作一行数据,返回一个结果。

常用的单行函数有:

字符串函数:对字符串进行操作。

Number函数:计算一个数字并返回一个数字。

日期函数:处理日期和时间。

转换功能:您可以将一种数据类型转换为另一种。

2.聚合函数(多行函数、分组函数、分组函数):操作多行数据,返回一个结果。类似SUM

一、字符串函数

character函数接受字符参数,这些参数可以是表中的列或字符串表达式。

以下各项的常见字符功能:

功能

解释

ASCII(X)

返回字符x的ASCII码。

CONCAT(X,Y)

连接字符串x和y

INSTR(X,STR[,START][,N)

要从X查找字符串,可以指定从n开始或从X开始

长度(X)

返回x的长度。

较低(X)

x转换成小写

上部(X)

x转换为大写

LTRIM(X[,TRIM_STR])

Trim_str字符串在x左侧被截断,缺省情况下空格被截断。

RTRIM(X[,TRIM_STR])

Trim_str字符串在x右侧被截断,缺省情况下空格被截断。

TRIM([TRIM_STR FROM]X)

Trim_str字符串在x两边被截断,缺省情况下空格被截断。

替换(X,旧,新)

在x中寻找旧的,用新的代替。

SUBSTR(X,开始[,长度])

返回x的字符串,从起始字符和截取长度字符开始,具有默认长度和默认结尾。

上述功能的示例:

例子

示例结果

从dual中选择ASCII(' a ');

97

从dual中选择CONCAT('Hello ',' world ');

Helloworld

从dual中选择INSTR('Hello world ',' or ');

从dual中选择长度(' Hello ');

从dual中选择LOWER(' Hello ');

你好

从dual中选择UPPER(' hello ');

你好

SELECT LTRIM('=Hello=','=')FROM dual;

你好=

SELECT RTRIM('=Hello=','=')FROM dual;

=你好

从dual中选择TRIM('=' FROM '=Hello=');

你好

从dual中选择REPLACE('ABCDE ',' CD ',' AAA ');

阿巴阿埃

从dual中选择SUBSTR('ABCDE ',2,3);

BCD

二、数字函数

数字函数接受数字参数,该参数可以来自表中的列或数字表达式。

功能

解释

例子

ABS(X)

x的绝对值

ABS(-3)=3

ACOS(X)

x的反余弦值

ACOS(1)=0

COS(X)

余弦

COS(1)=0.54030230586814

上限(X)

大于或等于x的最小值

上限(5.4)=6

楼层(X)

或者小于或等于x的最大值

地板(5.8)=5

对数(X,Y)

x是以y为底的对数。

LOG(2,4)=2

MOD(X,Y)

x除以y的余数

MOD(8,3)=2

幂(X,Y)

x的y次方

幂(2,3)=8

ROUND(X[,Y])

x在y位置四舍五入。

ROUND(3.456,2)=3.46

SQRT(X)

x的平方根

SQRT(4)=2

TRUNC(X[,Y])

在x的y位截断

TRUNC(3.456,2)=3.45

描述:

1.ROUND(X[,Y]),四舍五入。

如果默认y,则默认y=0;比如:ROUND(3.56)=4。

y为正整数,即四舍五入到小数点后y位。ROUND(5.654,2)=5.65 .

y是负整数,通过|y|舍入到小数点左侧。ROUND(351.654,-2)=400 .

2.TRUNC(x[,y]),直接截断,不舍入。

如果默认y,则默认y=0;例如:TRUNC(3.56)=3。

y为正整数,即四舍五入到小数点后y位。TRUNC(5.654,2)=5.65 .

y是负整数,通过|y|舍入到小数点左侧。TRUNC(351.654,-2)=300 .

三、日期函数

date函数对日期进行操作。常用的日期函数有:

1.ADD_MONTHS(d,n),将指定的月数加到某个日期d上,计算后返回新的日期。

d表示日期,n表示要添加的月数。

示例:

SELECT SYSDATE,add_months(SYSDATE,5)FROM dual;

2.LAST_DAY(d),返回该月中指定日期的最后一天。

示例:

SELECT SYSDATE,last _ day(SYSDATE)FROM dual;

3.ROUND(d[,fmt]),返回fmt格式的舍入日期值,其中D是日期,fmt是格式。

模型。默认的fmt是DDD,即一个月中的某一天。

如果fmt为“年”,则四舍五入到某年1月1日,即舍弃上半年,下半年作为下一年。

如果fmt为“月”,则四舍五入到某月1日,即上个月四舍五入,下半月作为下个月。

默认为“DDD”,即当月的某一天,最接近的一天,舍弃前半天,后半天为次日。

如果fmt为“日”,则四舍五入到最近一周的周日,即前半周四舍五入,后半周为下一周的周日。

示例:

SELECT SYSDATE,ROUND(系统日期),ROUND(系统日期,'日'),

ROUND(SYSDATE,' month '),ROUND(SYSDATE,' year ')FROM dual;

与ROUND对应的函数是TRUNC(d[,fmt])对日期的运算。Trunc和ROUND很像,只是日期不四舍五入,直接截取对应格式的第一天。

4.EXTRACT(fmtFROMd),它提取日期的特定部分。

t是:年、月、日、小时、分钟、秒。年、月、日可以匹配日期类型或时间戳类型;但是小时、分钟和秒钟必须与时间戳类型相匹配。

小时匹配的结果中没有加入时区,所以在中国跑步的结果是小8小时。

示例:

选择系统日期'日期',

提取(从系统日期开始的年份)“年份”,

提取(从系统日期开始的月份)“月份”,

提取(从系统日期开始的日期)'日期',

提取(系统时间戳中的小时)'小时',

提取(系统时间戳中的分钟)'分钟',

提取(从SYSTIMESTAMP开始的秒)'秒'

来自dual

四、转换函数

转换函数将值从一种数据类型转换为另一种数据类型。的常见转换功能有:

1、TO_CHAR(d|n[,fmt])

将日期和数字转换成格式化字符串。t是一个格式化字符串。

代码:TO_CHAR对日期的处理

Select _ char (sysdate,' yyyy ' year ' MM ' month ' DD ' day ' HH24:MI:SS ')' date ' FROM dual;

代码解析:

在带格式的字符串中,使用双引号来引用无格式的字符。

对于数字的格式化,格式化字符是:

参数

例子

解释

紧急服务电话

在指定位置显示一个数字。

9.9

返回指定位置的小数点。

,

99,99

在指定位置返回一个逗号。

$

$999

返回数字开头的美元符号。

咿咿

9.99EEEE

科学计数表示法

L

1999年

该数字前面有一个本地货币符号。

一对

999PR

如果数字是负数,则用尖括号表示。

Code: TO_CHAR对数字的处理

SELECT TO_CHAR(-123123.45,' l 9.9 eee EPR ')' date ' FROM dual;

2、迄今为止(X,[,fmt])

将字符串转换为fmt格式的日期类型。

3、收件人号码(X,[,fmt])

将字符串转换成fmt格式的数字。

代码演示:TO_NUM函数

SELECT TO_NUMBER('-$12,345.67 ',' $99,999.99 ')' num ' FROM dual;

五、其它单行函数

1、NVL(X,值)

如果x为空,返回值;否则,返回x

例:工资低于2000元的员工,如果不发奖金,每个员工发100元奖金。

代码演示:NVL函数

从EMP WHERE SAL2000中选择ENAME,JOB,SAL,NVL(COMM,100 );

-

ENAMEJOBSALNVL(通信,100)

史密斯店员800100

艾伦销售员1600300

WARDSALESMAN1250500

MARTINSALESMAN12501400

特纳销售员150050

ADAMSCLERK1100100

詹姆斯克拉克950100

-

7行已选择

2、NVL2(x,值1,值2)

如果x不为空,则返回值1;否则,返回值2

例:EMP表中工资低于2000元的员工,如果没有奖金,奖金为200元;有奖金的话,在原有奖金的基础上再加100元。

代码演示:NVL2函数

SELECT ENAME,JOB,SAL,NVL2(COMM,comm 100,200)' COMM FROM EMP WHERE SAL 2000;

-

ENAMEJOBSALcomm

史密斯店员800200

艾伦销售员1600400

WARDSALESMAN1250600

MARTINSALESMAN12501500

特纳销售员1500150

ADAMSCLERK1100200

詹姆斯克拉克950200

米勒克勒克1300200

-

8行选择

六、聚合函数

聚合函数同时对一组数据进行操作,并返回一行结果,例如计算一组数据的和与平均值。

名字

功能

语法

AVG

平均值

AVG(表情)

总和

求和

总和(表达式)

最小、最大

最小值和最大值

最小(表达式),最大(表达式)

数数

统计数字

计数(表达式)

例:求本月所有员工基本工资之和。

代码演示:sum函数

从emp中选择SUM(sal );

-

总和(萨尔)

29025

举例:求不同部门的平均工资。

代码演示:AVG函数下的分组查询

根据DEPTNO从EMP组中选择AVG DEPTNO(SAL );

-

DEPTNOAVG(萨尔)

-

301566.66666

202175

102916.66666

关于Oracle中常见函数的详细整理,本文到此结束。希望对大家的学习有帮助,也希望大家多多支持。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: