77范文网 - 专业文章范例文档资料分享平台

Oracle常用函数

来源:网络收集 时间:2018-11-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

目 录

1.数值型函数 ........................................................................................................................... 2 2.字符型函数 ........................................................................................................................... 2 3.日期函数 ............................................................................................................................... 3 4.转换函数 ............................................................................................................................... 4 5.数值转换符 ........................................................................................................................... 7 6.其他函数 ............................................................................................................................... 8 7.最大、最小值函数 ................................................................................................................ 9 8.创建临时表 ............................................................................................................................ 9 9. 创建表值函数 .................................................................................................................... 10

1.数值型函数

abs:求绝对值函数,如:abs(?5) 5

sqrt:求平方根函数,如:sqrt(2) 1.41421356 power:求幂函数,如:power(2,3) 8

cos:求余弦三角函数,如:cos(3.14159) ?1 mod:求除法余数,如:mod(1600, 300) 100

ceil:求大于等于某数的最小整数,如:ceil(2.35) 3 floor:求小于等于某数的最大整数,如:floor(2.35) 2

round:按指定精度对十进制数四舍五入,如:round(45.923, 1),结果,45.9 round(45.923, 0),结果,46 round(45.923, ?1),结果,50

trunc:按指定精度截断十进制数,如:trunc(45.923, 1),结果,45.9 trunc(45.923),结果,45 trunc(45.923, ?1),结果, 40

使用数值型函数练习。 使用求绝对值函数abs。 Sql代码

1. SELECT abs(?5) FROM dual;

执行结果: ABS(?5) --------------- 5

说明:求?5的绝对值,结果为5。

2.字符型函数

ascii:获得字符的ASCII码,如:Ascii('A') 65 chr:返回与ASCII码相应的字符,如:Chr(65) A

lower:将字符串转换成小写,如:lower ('SQL Course') sql course upper:将字符串转换成大写,如:upper('SQL Course') SQL COURSE

initcap:将字符串转换成每个单词以大写开头,如:initcap('SQL course') Sql Course concat:连接两个字符串 concat('SQL', ' Course') SQL Course

substr:给出起始位置和长度,返回子字符串,如:substr('String',1,3) Str length:求字符串的长度 length('Wellcom') 7

instr:给出起始位置和出现的次数,求子字符串在字符串中出现的位置,如:instr('String', 'r',1,1) 3

lpad:用字符填充字符串左侧到指定长度,如:lpad('Hi',10,'-') --------Hi rpad:用字符填充字符串右侧到指定长度,如:rpad('Hi',10,'-') Hi--------

trim:在一个字符串中(字头或字尾)去除另一个字符串,如:trim('S' FROM 'SSMITH') MITH replace:用一个字符串替换另一个字符串中的子字符串,如:replace('ABC', 'B', 'D') ADC

如果不知道表的字段内容是大写还是小写,可以转换后比较。 输入并执行查询: Sql代码

1. SELECT empno, ename, deptno FROM emp 2. WHERE lower(ename) ='blake';

结果为: Sql代码

1. EMPNO ENAME DEPTNO

2. --------------- ---------- ------------------------

3. 7698 BLAKE 30

说明:该查询将表中的雇员名转换成小写,与小写的blake进行比较。

3.日期函数

months_between:返回两个日期间的

月份,如:months_between ('04-11月-05','11-1月-01'),结果,57.7741935

add_months:返回把月份数加到日期上的新日期,如:add_months('06-2月-03',1),结果,06-3月-03

add_months('06-2月-03',-1),结果,06-1月-03

next_day:返回指定日期后的星期对应的新日期,如:next_day('06-2月-03','星期一'),结果,10-2月-03 nm

last_day:返回指定日期所在的月的最后一天,如:last_day('06-2月-03'),结果,28-2月-03

round:按指定格式对日期进行四舍五入,如:round(to_date('13-2月-03'),'YEAR'),结果,01-1月-03 round(to_date('13-2月-03'),'MONTH'),结果,01-2月-03 round(to_date('13-2月-03'),'DAY'),结果,16-2月-03

(按周四舍五入)

trunc:对日期按指定方式进行截断,如:trunc(to_date('06-2月-03'),'YEAR'),结果,01-1月-03 trunc(to_date('06-2月-03'),'MONTH'),结果,01-2月-03 trunc(to_date('06-2月-03'),'DAY'),结果,02-2月-03

(按周截断)

返回2003年2月的最后一天。 输入并执行查询: Sql代码

1. SELECT last_day('08-2月-03') FROM dual;

返回结果为: Sql代码

1. LAST_DAY('

2. ---------------- 3. 28-2月-03

说明:该函数给定参数为某月份的任意一天,返回时间为该月份的最后一天。本例中,参数为03年2月8号,返回日期为03年2月28日,是该月的最后一天。

假定当前的系统日期是2003年2月6日,求再过1000天的日期。 输入并执行查询: Sql代码

1. SELECT sysdate+1000 AS \

返回结果为: Sql代码

1. NEW DATE

2. ---------------- 3.

04-11月-05

说明:该查询使用到了日期的加法运算,求经过一定天数后的新日期。

假定当前的系统日期是2003年2月6日,显示部门10雇员的雇佣天数。 输入并执行查询: Sql代码

1. SELECT ename, round(sysdate-hiredate) DAYS 2. FROM emp

3. WHERE deptno = 10;

返回结果为:

ENAME DAYS --------------- --------------------- CLARK 7913 KING 7752 MILLER 7685 说明:该查询使用日期的减法运算求两个日期的相差天数。用round函数对天数进行四舍五入。

4.转换函数

Oracle的类型转换分为自动类型转换和强制类型转换。常用的类型转换函数有TO_CHAR、

TO_DATE或TO_NUMBER

To_char:转换成字符串类型,如:To_char(1234.5, '$9999.9'),结果:$1234.5

To_date:转换成日期类型,如:To_date('1980-01-01', 'yyyy-mm-dd'),结果:01-1月-80 To_number:转换成数值类型,如:To_number('1234.5'),结果:1234.5

自动类型转换

Oracle可以自动根据具体情况进行如下的转换: * 字符串到数值。 * 字符串到日期。 * 数值到字符串。 * 日期到字符串。

以下是自动转换的训练。

自动转换字符型数据到数值型。 输入并执行查询: Sql代码

1. SELECT '12.5'+11 FROM dual;

执行结果为: Sql代码

1. '12.5'+11

2. ------------ 3. 23.5

说明:在本训练中,因为出现+运算符,说明进行的是算术运算,所以字符串'12.5'被自动转换成数值12.5,然后参加运算。

自动转换数值型数据到字符型。 执行以下查询: Sql代码

1. SELECT '12.5'||11 FROM dual;

结果为: Sql代码 1. '12.5'

2. ------ 3. 12.511

说明:在本训练中,因为出现||运算符,说明进行的是字符串连接运算,数值11被自动转换成字符串'11',然后参加运算。

日期类型转换

将日期型转换成字符串时,可以按新的格式显示。 如格式YYYY-MM-DD HH24:MI:SS表示“年-月-日 小时:分钟:秒”。Oracle的日期类型是包含时

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle常用函数在线全文阅读。

Oracle常用函数.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/310071.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: