- 浏览: 1471653 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
ORACLE常用函数功能演示
文档撰写:孟祥新
写在前面:
ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码是内嵌在ORACLE数据库系统中的,因此其执行效率极高。
在数据库编程中能广泛使用ORACLE所提供的内置函数,将大大提高程序代码的执行效率。“站在高人的肩膀上,将使你变得更高”。
演示之前的环境设置:
为了在SQL*PLUS中直观地显示函数返回的结果,我将“头”信息先屏蔽掉。操作如下:
一、单行函数
1. 数值函数
(1) 三角函数
① SIN、ASIN、SINH(正弦、反正弦、双曲正弦)
② COS、ACOS、COSH(余弦、反余弦、双曲余弦)
③ TAN、ATAN、TANH(正切、反正切,双曲正切)
(2) 幂、方根及对数运算函数
① POWER(m, n)(取m的n次幂)
② SQRT(n)(取n的平方根)
③ EXP(n)(取自然对数底e的n次方根)
④ LN(n)(取n的自然对数)
⑤ LOG(m, n)(取以m为底n的对数)
以上函数功能演示如下:
(3) 数值处理函数
① ABS(n)(取绝对值)
② SIGN(n)(符号函数)
③ CEIL(n)(取不小于n的最小整数)
④ FLOOR(n)(取不大于n的最大整数)
⑤ ROUND(n, [m])(按m精度对n进行4舍5入)
⑥ TRUNC(n, [m])(按m精度对n进行截取)
⑦ MOD(m, n)(取m除以n的余数)
以上函数功能演示如下:
2. 字符处理函数
(1) 对字符串的大小写处理的函数
① INITCAP(功能:将字符串中每个单词的首字母,变换为大写。)
② UPPER(功能:将字符串中的所有字母,转换为大写。)
③ LOWER(功能:将字符串中的所有字母,转换为小写。)
以上函数功能演示如下:
(2) 对字符串进行处理的函数
① CONCAT(字符串连接函数,也可用 || 替代)
功能演示如下:
② ASCII(取字符的编码)
③ CHR(将编码转换为对应的字符)
以上函数功能演示如下:
④ LTRIM(去除左侧空格/指定字符)
⑤ RTRIM(去除右侧空格/指定字符)
⑥ TRIM(去除两侧的空格/去除指定字符)
以上函数去除空格功能演示如下:
以上函数去除指定字符功能演示如下:
请注意:在用TRIM去除字符串中指定字符(非空格)时的特殊用法。
⑦ LPAD(左侧添充空格/指定字符)
⑧ RPAD(右侧添充空格/指定字符)
以上函数功能演示如下:
⑨ LENGTH(取字符串的长度)
⑩ SUBSTR(截取子字符串)
用法格式:SUBSTR(string, start [,length])
功能说明:从字符串string的start位置开始向后截取length长度的子串
以上函数功能演示如下:
⑾ INSTR(查找子字符串的位置)
用法格式:INSTR(string, search_string [,n [,m]])
功能说明:从字符串string的第n个字符开始查找search_string第m次出现的位置,如果按条件没有找到字符串,则返回0
(注意:此函数返回的位置是以原字符串首字符所在位置为起始点的,首字符位置为1)
函数功能演示如下:
⑿ REPLACE(子串替换)
用法格式:REPLACE(string, search_string [,replace_string])
功能说明:将字符串string中的所有search_string都替换为replace_string,如果省略replace_string,则将字符串string中的所有search_string都去掉。
⒀ TRANSLATE(字符转换)
用法格式:TRANSLATE(string, search_set, replace_set)
功能说明:将string中出现在search_set中的字符转换为replace_set相应位置的字符。
以上函数功能演示如下:
3. 日期函数
① SYSDATE(取当前的数据库系统时间)
② ADD_MONTHS(加减指定的月份)
③ MONTHS_BETWEEN(取两个日期之间相隔的月数)
④ LAST_DAY(取指定日期所在月的最后一天)
以上函数功能演示如下:
⑤ ROUND(date, ‘format_string’)
功能:按日期掩码format_string的格式对给定的日期date进行舍/入。
⑥ TRUNC(date, ‘format_string’)
功能:按日期掩码format_string的格式对给定的日期date进行截取。
以上函数功能演示如下:
4. 类型转换函数
功能:在数值和字符,以及字符和日期之间进行数据类型的转换
说明:在ORACLE数据服务器,可以对数值形式的字符串隐式地转换为数值类型的数据,也可以将数值类型的数据隐式地转换为数值形式的字符串。但也可以进行如下的显式转换。
① TO_CHAR(n)(将数值n转换为字符类型)
② TO_NUMBER(‘string’)(将字符串string转换为数值类型)
知识扩展:常用进制的转换
|
③ TO_CHAR(date, ‘format_string’)(按照时间掩码format_string的格式要求,将日期型数据date转换为字符型数据)
④ TO_DATE(‘string’, ‘format_string’)(将字符型数据string按照时间掩码format_string的格式要求,转换为相应的日期型数据)
常用的时间格式掩码如下:
掩码元素 |
含义 |
YYYY |
四位数年份 (如:2005) |
YY |
二位数年份(如 05) |
Q |
季度(1-4) |
MM |
月份(01-12) |
WW |
年的星期数(1-53),其中第一星期为年的第一天至第七天 |
W |
月的星期数(1-5),其中第一星期为月的第一天至第七天 |
DDD |
年的日(1-366) |
DD |
月的日(1-31) |
D |
周的日(1-7),其中周日为1,周六为7 |
HH24 |
24小时制(0-23) |
MI |
分钟(0-59) |
SS |
秒(0-59) |
SSSSS |
自午夜之后的秒(0-86399) |
以上函数功能演示如下:
5. 空值转换函数
① NVL(expr1, expr2)
功能:如果 expr1 的计算结果为 null 值,则返回 expr2 的值。如果 expr1 的计算结果不是 null 值,则返回 expr1 的值
② NVL2(expr1, expr2, expr3)
功能:如果expr1非空,则返回expr2的值;如果expr1为空,则返回expr3的值。
③ NULLIF(expr1, expr2)
功能:比较两个表达式,如果相等返回空;如果不相等,返回第一个表达式的值。
④ COALESCE(expr1, expr2, ..., exprn)
功能:返回表达式列表中的第一个非空表达式的值。
6. 查看环境参数函数
(1) USER函数 (返回当前用户名)
(2) USERENV函数
① USERENV('ISDBA') (查看当前用户是否是DBA)
② USERENV('LANGUAGE') (查看环境所用的字符集)
③ USERENV('TERMINAL') (查看当前用户终端的标识)
以上函数用法演示如下:
select USERENV('ISDBA'), USERENV('LANGUAGE'), USERENV('TERMINAL') from dual;
(3) SYS_CONTEXT函数
说明:SYS_CONTEXT函数是在ORACLE 8i中新增的,在功能上比USERENV函数更加全面。
用法格式:SYS_CONTEXT('USERENV', '<parameter>')
根据参数parameter来返回相应的信息
① 登录验证类型
select SYS_CONTEXT('USERENV', 'AUTHENTICATION_TYPE') from dual;
② 当前登录数据库的用户名
select SYS_CONTEXT('USERENV', 'CURRENT_USER') from dual;
③ 当前登录客户端的操作系统用户名
select SYS_CONTEXT('USERENV', 'OS_USER') from dual;
http://wenku.baidu.com/view/6eeff7c75fbfc77da269b104.html
发表评论
-
SQL查询顺序处理
2011-09-15 11:29 1583select的解析执行顺序1. from语句 2. where ... -
概念模型、逻辑模型、物理模型区别
2011-09-08 10:48 1188http://wenku.baidu.com/view/9a6 ... -
规范化-数据库设计原则
2011-09-07 10:41 1404简介: 关系数据库设计的核心问题是关系模型的设计。本文将结合具 ... -
数据库设计准则(第一、第二、第三范式说明)
2011-09-07 10:17 1243I、关系数据库设计范式 ... -
oracle日志文件及归档日志模式
2011-09-01 10:18 1722oracle数据库中分为联机日志文件和归档日志文件两种日志文件 ... -
Oracle重做日志管理
2011-09-01 09:50 1392Oracle重做日志操作是为了记录数据的改变,提供数据库 ... -
Oracle复制技术的分布式系统同步应用
2011-08-28 17:41 1254本文将结合一个实际案例,讲解Oracle复制技术在分布 ... -
oracle数据同步
2011-08-28 14:34 952首先创建一个 dblink(dat ... -
Oracle 流复制(Stream Replication)
2011-07-20 10:37 5573Stream 是Oracle 的消息队列( ... -
表分区
2011-06-30 09:21 1643分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用 ... -
数据库大型应用解决方案总结(1)
2011-06-22 18:01 1360随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设 ... -
oracle_SQL中ROWID与ROWNUM的使用
2011-06-16 10:51 1383对于 Oracle 的 rownum 问题,很多资料都说不支持 ... -
oracle函数手册
2011-06-08 09:22 1148SQL中的单记录函数1.ASCII ... -
oracle基础文档
2011-06-03 09:10 1205oracle基础文档 -
ORACLE 找回误删的数据库
2011-06-02 14:14 1335同事找回时操作的数据库为oracle 10g , 之前删除方式 ... -
为什么Oracle有时会用索引来查找数据?--强制Oracle使用最优的“执行计划”
2011-06-01 09:04 1705[摘要] 在你运用SQL语言,向数据库发布一条查询语句时,O ... -
sql编程规范与性能
2011-05-31 08:40 1241sql编程规范与性能 -
Nested Loops Join(嵌套连接)
2011-04-13 16:21 11485说明:最近找到了一个 ... -
如何看Oracle执行计划
2011-01-14 15:43 2150oracle执行计划解释 ... -
oracle中分析sql语句执行计划的方法
2011-01-14 15:36 2178如何生成explain plan? 解答:运行utl ...
相关推荐
oracle常用函数功能演示,一天之内成为万人羡慕的oracle专家!
ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码...
通过多年的oracle数据库web开发经验和实际用途,总结了一系列常用工具函数,并附上了使用方法案例,希望对oracle相关使用人员有一定的帮助,知识本身就是用于交流学习的!
ORACLE常用内置函数解析及实例演示,比如ORACLE字符串处理以及日期处理等常用处理
常用Oracle函数,每个函数都有实例代码演示
│ 小功能,大作用 --- Oracle里的关键字& - 三十而立专栏 - CSDN博客.mht │ 经典SQL语句收集(ORACLE).mht │ 融会贯通Oracle数据库的25条基本知识.txt │ 详细讲解Oracle服务器的常用命令行.mht │ └─资料 ...
·实践练习——演示如何应用在每章学到的关键技术 ·学习效果测试——对学习效果的快速自我评估 ·注意——与所介绍主题相关的额外信息 ·章节测验——每章结束时的测验测试读者对所学知识的掌握程度 作...
Oracle 数据库中的SQL是当今市场上功能最强大的SQL实现之一,而本书全面展示了这一工具的威力。如何才能让更多人有效地学习和掌握SQL呢?Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习...
3. scott用户:是个演示用户,是让你学习Oracle用的。 二、 常用命令 学习oracle,首先我们必须要掌握常用的基本命令,oracle中的命令比较多,常用的命令如下: 1. 登录命令(sqlplus) 说明:用于登录到oracle数据库 ...
《Oracle Database 11g初学者指南》能使读者快捷地掌握Oracle Database 11g的基础知识。通过自我评估教程,介绍了核心数据库技术、管理员职责、高可用性以及大型数据库特性。《Oracle Database 11g初学者指南》带领...
快速掌握oracle的查询语句规则,常用函数,建表与修改表结构,存储过程编写。有丰富的实例展示,适合于入门或者当作查询手册使用。
集成了完整的数据库操作...内容从登录操作、表空间与段、常用工具、SQL Plus常用命令、常用数据类型、SQL分类、数据操作(DML)、标量函数的使用、对象管理(DDL)、约束、用户管理、权限管理、角色管理、表空间与段
7.5.2 PL/SQL中常用的变量类型: 114 7.5.3 变量声明 114 7.5.4 简单变量赋值 114 7.5.5 %type属性 114 7.5.6 %rowtype属性 114 7.5.7 SQL语句在PL/SQL中的运用 114 7.6 选择结构 114 7.6.1 格式1: IF_THEN_ELSE语句...
SQL概述、SQL的分类、演示数据的结构、SQL Plus常用命令、条件查询、排序数据、数据处理函数、聚合函数、分组查询、连接查询、union和minus、添加、修改和删除、事务概述、索引、视图、序列(Sequence)、常用的DBA...
FormatMessage函数的功能实际上是非常丰富的,在创建向用户显示的字符串信息时,它是人们首选的函数。该函数之所以有这样大的作用,原因之一是它很容易用多种语言来进行操作。该函数能够检测出用户首选的语言(在...
第三天 完成《Ruby语言入门教程》,并上机调试 熟悉Ruby语言基本语法和常用函数 第四天 完成《Ruby语言进阶教程》,并上机调试 第五天 按照《应用Rails进行敏捷Web开发.pdf》学习第二部分购物车示例。...