`

Oracle PL/SQL 常用函数总结

阅读更多
--created by   : wanglin
--created date : 2012-08-20
--created purpose : Oracle PL/SQL 常用函数总结

--(1)处理字符的函数
--|| CONCAT 并置运算符
--格式:CONCAT(STRING1, STRING2)
SELECT CONCAT('wang','lin') FROM dual;

SELECT 'wang'||'lin' FROM dual;

--ASCII 返回字符的ascii码
SELECT ASCII('A') FROM dual;

--CHR 返回指定ascii码的字符
SELECT CHR(65) FROM dual;

--INSTR 搜索字串的位置
--格式:INSTR(STRING , SET[ , 开始位置[ , 出现次数]])
SELECT INSTR('wanglin','n',1,2) FROM dual;

--INITCAP 将字符串每个单词的首字母大写
SELECT INITCAP('wang lin') FROM dual;

--LENGTH 计算字符串的长度
SELECT LENGTH('wanglin') FROM dual;

--LPAD RPAD 左填充 右填充 默认空格填充
--格式: RPAD(字符串 , 字符个数 , 填充字符)
SELECT LPAD('wanglin',10,'i') , RPAD('wanglin',10,'i') FROM dual;

--LTRIM RTRIM 左右截断 默认删除空格
--格式∶ LTRIM(STRING[,’SET’])
SELECT LTRIM('***wang*lin***','*') , RTRIM('***wang*lin***','*') FROM dual;

--LOWER 将字符串转换为小写
SELECT LOWER('WANGLIN') FROM dual;

--UPPER 将字符串转换为小写
SELECT UPPER('wanglin') FROM dual;

--SUBSTR 提取子串 第二个参数为正的时候从左开始提取 为负时从右开始提取
--格式∶ SUBSTR(STRING , START [ , COUNT])
SELECT SUBSTR('wanglin',5,3) FROM dual;

--REPLACE 搜索指定字符串并替换
--格式∶REPLACE(string , substring , replace_string)
SELECT REPLACE('wanglin','n','m') FROM dual;

--TRIM 删除字符串前缀或者后缀字符串
--格式:TRIM([LEADING | BOTH | TRAILING] [ trimchar FROM] ' wang ')
SELECT TRIM(BOTH '*' FROM '* wang ') FROM dual;

SELECT TRIM('* wang ') FROM dual;

--(2)处理数字的函数
--LEAST 返回参数列表中的最小值 返回参数类型以第一参数为准
SELECT LEAST(1,2,3,4,5,6,7,-8) FROM dual;

--SIGN 返回参数的符号位 1:正数 0:0 -1:负数
SELECT SIGN(-10) FROM dual;

--CEIL 返回大于等于特定值的最小整数
--格式∶CEIL(value)
SELECT CEIL(9.7) FROM dual;

--(3)处理日期的函数
--SYSDATE---系统时间。精确至秒
SELECT SYSDATE FROM dual;

--ADD_MONTHS—加减月份。numvalue为负数时减去相应月份
--格式: ADD_MONTHS (data1,numvalue)
SELECT add_months(SYSDATE,1) FROM dual;
  
--MONTHS_BETWEEN---返回两日期之间的月数,当data1
--格式: MONTHS_BETWEEN(data1,data2)
SELECT months_between(SYSDATE , to_date('2000-08-20','yyyy-mm-dd')) FROM dual;
  
--LAST_DAY---返回指定日期的最后一天。
--格式∶LAST_DAY(date)
  
--TRUNC---将日期按照format格式截短,缺省为DD(不是四舍五入)
--格式:TRUNC(date, format)
SELECT TRUNC(to_date('2012-11-07','yyyy-mm-dd'),'MM') FROM dual;

--4)分组函数
--返回基于多个行的单一结果.常用函数:
AVG   --求平均值
COUNT --返回查询的行数
MAX   --返回查询列的最大值
MIN   --返回查询列的最小值
SUM   --返回查询列的总和
--MAX, MIN 常与 GROUP BY 配套使用
SELECT MAX(a.empno) FROM emp a;

--5)转换函数
--TO_DATE 转换字符串为日期型
--格式∶ TO_DATE(STRING[,’FORMAT’])
SELECT to_date('2012', 'yyyy') FROM dual;
  
--TO_CHAR 转换日期型或数值型为字符串。最重要的函数之一.其FORMAT格式多种多样
--格式∶TO_CHAR(DATE [,’FORMAT’])
SELECT to_char(SYSDATE , 'yyyy-mm-dd') FROM dual;
  
--TO_NUMBER 转换字符串为数字
--格式∶TO_NUMBER(string [ , format])
SELECT to_number('9') FROM dual;

--6)其他
--DECODE IF语句的另一形式。将输入数值与参数列表比较,返回对应值。应用于将表的行转换成列以及IF语句无法应用的场合。当与SIGN联合使用时功能扩展,可以判断大于小于的情况.
--格式: DECODE(input_value , value1 , result1 , value2 , result2 , ….defult_result)
SELECT DECODE(a.empno,1,100,2,300,500) FROM emp a;
--当VALUE=1时返回100 当VALUE=2时返回300 否则返回500

DECODE(SIGN(VALUES-100), -1,-10,1,10,0)
--当VALUE<100时返回-10
--当VALUE>100时返回10
--当VALUE=100时返回0

SELECT SUM(DECODE(EST_INT_KEY,77771,1,0)) A,
       SUM(DECODE(EST_INT_KEY,77772,1,0)) B,
       SUM(DECODE(EST_INT_KEY,77773,1,0)) C
  FROM PMS_BLK
  
--NVL 空值置换
--格式: NVL(value,替换值)
NVL(value,’nullvalue’)
--当value为NULL值时返回nullvalue否则返回value的值
  
--VSIZE 以字节为单位返回数据类型尺寸
--格式∶VSIZE(数据类型)
SELECT VSIZE(SYSDATE) FROM dual; 
--7
  
--USER 得到当前用户名

--ROWNUM oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数。不能以任何基表的名称作为前缀。可以用在限制返回记录条数的地方不受ORDER BY的影响.
SELECT ROWNUM, MONTH, sell FROM sale WHERE ROWNUM = 1
--或
SELECT ROWNUM, MONTH, sell FROM sale WHERE ROWNUM < 2--(返回第一条记录)
--返回rownum在4—10之间的记录
SELECT ROWNUM, MONTH, sell FROM sale WHERE ROWNUM < 10
 MINUS 
SELECT ROWNUM, MONTH, sell FROM sale WHERE ROWNUM < 5;
--以下均错误:
SELECT ROWNUM, MONTH, sell FROM sale WHERE ROWNUM = 2 --(1以上)
SELECT ROWNUM, MONTH, sell FROM sale WHERE ROWNUM > 2
  
--ROWID 数据行在物理磁盘上的物理地址,Oracle通过ROWID来定位数据的具体位置,这是存取表中数据的最快的方法 
--RETURN 用于函数和过程中.遇见RETURN程序立刻中断,返回,不再执行剩余部分.
--SQLCODE 返回ORACLE错误号。
--SQLERRM 返回ORACLE错误信息。












 

 

分享到:
评论

相关推荐

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    oracle pl/sql从入门到精通 配套源代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...

    ORACLE PL/SQL从入门到精通

    ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...

    Oracle PL/SQL实例精解 数据库建立代码

    总结起来,"Oracle PL/SQL实例精解 数据库建立代码"涵盖了数据库设计、对象创建、索引优化以及数据插入等多个方面,是学习和提升Oracle数据库管理技能的宝贵资源。通过解析和执行这些示例,开发者可以更好地理解和...

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **新特性概述**:介绍Oracle 11g中引入的与PL/SQL相关的新增功能,例如新的数据类型、函数、性能优化技术等。 - **性能提升技术**:提供了一些具体的例子和最佳实践,展示了如何利用Oracle 11g的新特性来进一步...

    Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本

    PL/SQL是Oracle数据库中用于创建存储过程、函数、触发器、包等数据库对象的主要工具。第4版特别关注了在Oracle 11g环境下的新特性,如性能优化、错误处理和并发控制等。 1. **基础语法**:PL/SQL的基础包括声明变量...

    Oracle资料学习PL/SQL必备

    "Oracle资料学习PL/SQL必备"这个主题涵盖了对Oracle数据库系统以及PL/SQL编程语言的学习资源,特别是针对那些希望深入理解并掌握PL/SQL的初学者或专业人士。PL/SQL的基础部分是了解和使用Oracle数据库的关键,它包括...

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的编程结构,用于在Oracle数据库环境中创建复杂的应用程序。在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨...

    Oracle PL/SQL学习官方教材

    Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...

    oracle10g_pl/sql

    Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...

    Oracle PL/SQL programming(5th Edition)

    ### Oracle PL/SQL Programming知识点概览 #### 一、书籍基本信息 - **书名**:Oracle PL/SQL Programming(第五版) - **作者**:Steven Feuerstein 和 Bill Pribyl - **出版日期**:2009年10月1日 - **出版社**:...

    oracle 9i pl/sql程序设计笔记

    通过上述对Oracle 9i PL/SQL程序设计笔记的总结,我们可以看到PL/SQL作为一种强大的数据库编程语言,提供了丰富的功能来支持数据处理、事务控制及业务逻辑的实现。掌握PL/SQL的不同块类型及其使用方法对于开发高效、...

    Oracle PL/SQL best practice

    Oracle PL/SQL最佳实践 Oracle PL/SQL是一种强大的编程语言,用于在Oracle数据库环境中构建复杂的业务逻辑和数据处理任务。Steven Feuerstein,被誉为Oracle PL/SQL语言的大师,分享了他在这一领域的关键最佳实践和...

    Oracle PL/SQL编程及最佳实践

    Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密集成。 一、Oracle 简介 ...

    《精通Oracle PL/SQL》源码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和PL(过程化语言)的程序设计特性,是Oracle数据库系统中的核心组件之一。《精通Oracle PL/SQL》这本书深入探讨了这个语言的...

    Oracle PL/SQL by Example(4th Edition)

    《Oracle PL/SQL by Example(4th Edition)》是一本专为Oracle数据库用户设计的PL/SQL编程指南,尤其适合那些希望通过实践学习这一强大的过程式语言的开发者。本书的第四版详细介绍了Oracle PL/SQL的各种核心概念和...

    Oracle PL/SQL语言初级教程

    总之,Oracle PL/SQL语言初级教程将引导初学者逐步掌握PL/SQL的基础知识,包括语法、数据类型、函数、表和视图的管理、完整性约束、过程和函数、操作控制以及异常处理。通过学习,开发者可以编写出高效、稳定的...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...

Global site tag (gtag.js) - Google Analytics