【Oracle】Oracle中常用函数大全

Oracle SQL 提供了用于执行特定操作的专用函数。这些函数大大增强了 SQL 语言的功能。函数可以接受零个或者多个输入参数,并返回一个输出结果。 oracle 数据库中主要使用两种类型的函数:

1.  单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果,

比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整

数列)。常用的单行函数有:

Ø  字符函数:对字符串操作。

Ø  数字函数:对数字进行计算,返回一个数字。

Ø  转换函数:可以将一种数据类型转换为另外一种数据类型。

Ø  日期函数:对日期和时间进行处理。

2.  聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。比如 SUM(x)

返回结果集中 x 列的总合。

一、字符函数

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

常用的字符函数:


函数


说明


ASCII(X)


返回字符X的ASCII码


CONCAT(X,Y)


连接字符串X和Y


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


从X中查找str,可以指定从start开始,也可以指定从n开始


LENGTH(X)


返回X的长度


LOWER(X)


X转换成小写


UPPER(X)


X转换成大写


LTRIM(X[,TRIM_STR])


把X的左边截去trim_str字符串,缺省截去空格


RTRIM(X[,TRIM_STR])


把X的右边截去trim_str字符串,缺省截去空格


TRIM([TRIM_STR  FROM]X)


把X的两边截去trim_str字符串,缺省截去空格


REPLACE(X,old,new)


在X中查找old,并替换成new


SUBSTR(X,start[,length])


返回X的字串,从start处开始,截取length个字符,缺省length,默认到结尾

上面各函数的例子:


示例


示例结果


SELECT ASCII(‘a‘) FROM dual;


97


SELECT CONCAT(‘Hello‘,‘world‘) FROM dual;


Helloworld


SELECT INSTR(‘Hello world‘,‘or‘) FROM dual;


8


SELECT LENGTH(‘Hello‘) FROM dual;


5


SELECT LOWER(‘Hello‘) FROM dual;


hello


SELECT UPPER(‘hello‘) FROM dual;


HELLO


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


Hello=


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


=Hello


SELECT TRIM(‘=‘FROM‘=Hello=‘) FROM dual;


Hello


SELECT REPLACE(‘ABCDE‘,‘CD‘,‘AAA‘)FROM dual;


ABAAAE


SELECT SUBSTR(‘ABCDE‘,2,3) FROM dual;


BCD

二、数字函数

数字函数接受数字参数,参数可以来自表中的一列,也可以是一个数字表达式。


函数


说明


示例


ABS(X)


X的绝对值


ABS(-3)=3


ACOS(X)


X的反余弦


ACOS(1)=0


COS(X)


余弦


COS(1)=0.54030230586814


CEIL(X)


大于或等于X的最小值


CEIL(5.4)=6


FLOOR(X)


小于或等于X的最大值


FLOOR(5.8)=5


LOG(X,Y)


X为底Y的对数


LOG(2,4)=2


MOD(X,Y)


X除以Y的余数


MOD(8,3)=2


POWER(X,Y)


X的Y次幂


POWER(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。

三、日期函数

日期函数对日期进行运算。常用的日期函数有:

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

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 为“YEAR”则舍入到某年的 1 月 1 日,即前半年舍去,后半年作为下一年。

Ø  ② 如果 fmt 为“MONTH”则舍入到某月的 1 日,即前月舍去,后半月作为下一月。

Ø  ③ 默认为“DDD”,即月中的某一天,最靠近的天,前半天舍去,后半天作为第二天。

Ø  ④ 如果 fmt 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。

例:SELECT SYSDATE,ROUND(SYSDATE),ROUND(SYSDATE,‘day‘),

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

与 ROUND 对应的函数时 TRUNC(d[,fmt])对日期的操作, TRUNC 与 ROUND 非常相似,只是不对日期进行舍入,直接截取到对应格式的第一天。

4、EXTRACT(fmt FROM d),提取日期中的特定部分。

fmt 为:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND。其中 YEAR、MONTH、DAY可以为 DATE 类型匹配,也可以与 TIMESTAMP 类型匹配;但是 HOUR、MINUTE、SECOND 必须与 TIMESTAMP 类型匹配。

HOUR 匹配的结果中没有加上时区,因此在中国运行的结果小 8 小时。

例:SELECT SYSDATE "date",

EXTRACT(YEAR FROM SYSDATE)"year",

EXTRACT(MONTH FROM SYSDATE)"month",

EXTRACT(DAY FROM SYSDATE)"day",

EXTRACT(HOUR FROM SYSTIMESTAMP)"hour",

EXTRACT(MINUTE FROM SYSTIMESTAMP)"minute",

EXTRACT(SECOND FROM SYSTIMESTAMP)"second"

FROM dual;

四、转换函数

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

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

把日期和数字转换为制定格式的字符串。Fmt是格式化字符串

代码演示:TO_CHAR对日期的处理

SELECT TO_CHAR(SYSDATE,‘YYYY"年"MM"月"DD"日" HH24:MI:SS‘)"date" FROM dual;

代码解析:

在格式化字符串中,使用双引号对非格式化字符进行引用

针对数字的格式化,格式化字符有:


参数


示例


说明


9


999


指定位置处显示数字


.


9.9


指定位置返回小数点


,


99,99


指定位置返回一个逗号


$


$999


数字开头返回一个美元符号


EEEE


9.99EEEE


科学计数法表示


L


L999


数字前加一个本地货币符号


PR


999PR


如果数字式负数则用尖括号进行表示

代码演示:TO_CHAR对数字的处理

SELECT TO_CHAR(-123123.45,‘L9.9EEEEPR‘)"date" FROM dual;

2、TO_DATE(X,[,fmt])

把一个字符串以fmt格式转换成一个日期类型

3、TO_NUMBER(X,[,fmt])

把一个字符串以fmt格式转换为一个数字

代码演示:TO_NUM函数

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

五、其它单行函数

1、NVL(X,VALUE)

如果X为空,返回value,否则返回X

例:对工资是2000元以下的员工,如果没发奖金,每人奖金100元

代码演示:NVL函数

SQL> SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000;

-------------------------------------------------------------------

ENAME    JOB    SAL    NVL(COMM,100)

SMITH    CLERK    800    100

ALLEN    SALESMAN    1600    300

WARD    SALESMAN    1250    500

MARTIN    SALESMAN    1250    1400

TURNER    SALESMAN    1500    50

ADAMS    CLERK    1100    100

JAMES    CLERK    950    100

-------------------------------------------------------------------

7 rows selected

2、NVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2

例:对EMP表中工资为2000元以下的员工,如果没有奖金,则奖金为200元,如果有奖金,则在原来的奖金基础上加100元

代码演示:NVL2函数

SQL> SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm"

2   FROM EMP WHERE SAL<2000;

-------------------------------------------------------------------

ENAME    JOB    SAL    comm

SMITH    CLERK    800    200

ALLEN    SALESMAN    1600    400

WARD    SALESMAN    1250    600

MARTIN    SALESMAN    1250    1500

TURNER    SALESMAN    1500    150

ADAMS    CLERK    1100    200

JAMES    CLERK    950    200

MILLER    CLERK    1300    200

-------------------------------------------------------------------------------------------------------

8 rows selected

六、聚合函数

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

等。


名称


作用


语法


AVG


平均值


AVG(表达式)


SUM


求和


SUM(表达式)


MIN、MAX


最小值、最大值


MIN(表达式)、MAX(表达式)


COUNT


数据统计


COUNT(表达式)

例:求本月所有员工的基本工资总和

代码演示:sum函数

SQL> SELECT SUM(sal) FROM emp;

-------------------------------------------------------------------

SUM(SAL)

29025

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

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

SQL> SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;

-------------------------------------------------------------------

DEPTNO    AVG(SAL)

---------    ----------

30    1566.66666

20     2175

10    2916.66666

时间: 2024-10-13 23:20:00

【Oracle】Oracle中常用函数大全的相关文章

【javascript】javascript常用函数大全

javascript函数一共可分为五类:   •常规函数   •数组函数   •日期函数   •数学函数   •字符串函数   1.常规函数   javascript常规函数包括以下9个函数:   (1)alert函数:显示一个警告对话框,包括一个OK按钮.   (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮.   (3)escape函数:将字符转换成Unicode码.   (4)eval函数:计算表达式的结果.   (5)isNaN函数:测试是(true)否(fals

LoadRunner中常用函数参考手册

基础篇1:LoadRunner中常用函数参考手册 常用函数列表 web_url web_submmit_form VS web_submmit_data VS web_custom_request web_custom_request web_concurrent_start(NULL); web_concurrent_end(NULL); ============================分割线================================ 1. web_url Loa

JS常用函数大全

免疫bodyclick方法 这个是个比较好的方法,一个弹出窗口,要设定在任何其他地方点击这个窗口会自动消失,但点这个窗口内部是没事的.那么就要用到这个方法了. // (对body点击产生效果免疫的部分, 阻止冒泡body事件) // 通过ID屏蔽->@args(event, targetID) function blockClickToBodyById(a,b){return b==$(a.target).prop("id")||$(a.target).parents("

【转】ORACLE日期时间 等函数大全

转自:ORACLE日期时间函数大全 ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007       

Oracle 内置sql函数大全

F.1字符函数--返回字符值 这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的,比如: VARCHAR2数值被限制为2000字符(ORACLE 8中为4000字符),而CHAR数值被限制为255字符(在ORACLE8中是2000).当在过程性语句中使用时,它们可以被赋值给VARCHAR2或者CHAR类型的PL/SQL变量. ASCII 语法:ascii

【转】JNI学习积累之一 ---- 常用函数大全

原文网址:http://blog.csdn.net/qinjuning/article/details/7595104 本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 .心里想着该写点什么了?可是水平不够,再加上 包括很多真正实现地方--中间层,基本上没看.于是乎,也就不好卖

[转载]JNI学习积累之一 ---- 常用函数大全

本文转载于:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 .心里想着该写点什么了?可是水平不够,再加上 包括很多真正实现地方--中间层,基本上没看.于是乎,也就不好卖弄了. 花了几天时间研究了下JNI,基本上知道如何使用了.照我的观点JNI还是不难的,难得只是我们一份尝试的心. 学习过程中, 发现关

delphi常用函数大全(转)

Abort函数引起放弃的意外处理Abs函数绝对值函数AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分Alignment属性控件标签的文字位置AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)A

javascript中常用函数汇总

js中函数很多,在实际项目开发中,函数的应用可以很大程度上简化我们的代码,所以在此记下开发中js中常用的函数,增强记忆. 1.isNaN(X):函数用于检查其参数是否是非数字值. 如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true.如果 x 是其他值,则返回 false.(是非数字值则为true,是数字则返回false) isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字.当然也可以用