ORACLE函数介绍第八篇 综述

原创 2007年09月19日 17:48:00

  通过前面章节的练习我们可以对三类函数特征做些描述。

单值函数多数处理单个或多个值但只返回单个值(SYS_CONNECT_BY_PATH除外)

聚合函数多数处理多行并且各分组序列分别返回成一行。

分析函数多数处理多行并且每条记录均会有返回。

  需要注意不同类型函数可被应用的范围。

单值函数可应用范围最为广泛,select语句中的每一处都可被嵌入。

聚合函数通常会配合group by被应用于select或having子句,

分析函数只能应用于select或order by子句。

  虽然我们前面介绍了百十多个函数,可是仍然并非全部,并且即使是我们介绍到的,也不能说所有函数都已经介绍了其全部的特色,比如:对于substr,length,instr(like)等均有扩展形式。比如

substr:以字符为单位

substrb:以字节为单位

substrc:以unicode完全字符为单位

substr2:以UCS2代码点为单位

substr4:以UCS4代码点为单位

  它们对于字符的处理方式都是一致的,只不过在我们看来相同的字符在它们看来可能就不同,这就是不同编码的原因。关于unicode,ucs代码概念介绍可以看看这里:http://www.vscodes.com/article/5/104/2227.html

  Oracle中函数功能强大,分类细致,某些地方构思异常巧妙。

一、参数中的小数点

我们以CEIL为例

SELECT CEIL(12.8FROM DUAL;

值是什么?

二、负数也有学问

我们先以LPAD函数为例。一个非常简单的补值单值函数。

SELECT LPAD('Let us go!',5,'-'FROM DUAL;

猜猜这个会返回什么值呢?

SELECT LPAD('Let us go!',20,'-'FROM DUAL;

猜猜这个又会返回什么值呢?

SELECT LPAD('Let us go!',-5,'-'FROM DUAL;

再猜猜这个会返回什么值呢?

再以SUBSTR为例:

SELECT SUBSTR('Let us go!',-5,5FROM DUAL;

这个将要返回什么值呢?

SELECT SUBSTR('Let us go!',-5,-5FROM DUAL;

这个又将会返回什么值呢?

三、小心隐藏参

我们仍然以LPAD为例:

SELECT LPAD('Let us go!',20FROM DUAL;

猜猜这个返回什么值呢?

SELECT SUBSTR('Let us go!',-5FROM DUAL;

这个将要返回什么值呢?

SELECT TRUNC(12.8251FROM DUAL;

这个又将会返回什么值呢?

  诸如此类在oracle的函数中是比比旨是,比如:substr,instr,trim等等~~~~个中奥妙还需个自体会。

Oracle中还提供了一批函数用来操纵xml数据,比如:XMLAGG,XMLCOLATTVAL,XMLCONCAT,XMLFOREST,XMLSEQUENCE,XMLTRANSFORM,EXTRACT(XML),UPDATEXML等,功能强悍,不过演示环境搭建稍嫌复杂,三言二语也说不清楚,我这里就不多做介绍了。感兴趣的话可以查看oracle官方文档或者直接跟我交流。

如果以上种种仍然不能满足你的需求,你还可以通过自己创建function的方式来实现,创建的语法格式非常简单,不属于本章内容就不多做介绍了,如果你想找个示例的话,俺之前写过一个oracle下的邮件发送有相关示例可供你参考,地址如下:http://www.itpub.net/825426.html

  最后补充一句再强大的功能,还是需要能够灵活使用才能够体现其价值,所以了解并不是我们的目地,熟练应用才是我们的目标:)。

 

相关文章推荐

oracle函数介绍(8) 综述.doc

  • 2016年09月07日 17:14
  • 21KB
  • 下载

ORACLE学习第八篇(ORACLE视图)

一、概念 视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑。主要就是为了方便和数据安全; 二、创建视图Create view 视图名称 as 查询语句 create view v_em...

Oracle LISTENER监听文件参数详解及Lsnrctl命令综述

Oracle LISTENER监听文件参数详解及Lsnrctl命令综述  # listener.ora Network Configuration File: F:/oracle/produ...

Oracle临时表空间综述

1 临时表空间综述 2 查看临时表空间相关信息 3 临时表空间的日常操作 4 临时表空间的监控...

oracle 性能调整综述

第1章 性能调整综述 第2章 有效的应用设计 第3章  SQL语句处理的过程 第4章 ORACLE的优化器 第5章 ORACLE的执行计划         访问路径(方法) -- access pat...

Oracle LISTENER监听文件参数详解及Lsnrctl命令综述

Oracle LISTENER监听文件参数详解及Lsnrctl命令综述  # listener.ora Network Configuration File: F:/oracle/produ...
  • Kaiwii
  • Kaiwii
  • 2011年09月27日 08:41
  • 1158

Oracle LISTENER监听文件参数详解及Lsnrctl命令综述

# listener.ora Network Configuration File: F:/oracle/product/10.2.0/db_1/network/admin/listener.ora#...

【Java Tutorial中文版 开篇综述】 Oracle(甲骨文)公司Java最新官方教程【译文】

此篇为我博客【Java Tutorial】系列开篇综述。JavaTutorial是Oracle公司的官方教学教程,内容从认识Java到如何开发Java有着非常系统的体系,而且叙述清楚明了,非常适合Ja...

MySql接口API函数综述

C API函数概述 函数 描述 mysql_affected_rows() 返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数。 m...

物理不可克隆函数综述

  • 2013年12月25日 14:40
  • 845KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE函数介绍第八篇 综述
举报原因:
原因补充:

(最多只允许输入30个字)