`
universsky
  • 浏览: 99470 次
文章分类
社区版块
存档分类
最新评论

SQL PL/SQL语法手册3

 
阅读更多

4. 数值函数

4.1. 函數:ABS

语法:

ABS(number)

用途:

该函数返回数值number的绝对值.绝对值就是一个数去掉符号的那部分.

4.2. 函數:SQRT

语法:

SQRT(number)

用途:

该函数返回数值number的平方根,输入值必须大于等于0,否则返回错误.

4.3. 函數:CEIL

语法:

CEIL(number)

用途:

该函数返回大于等于输入值的下一个整数.

4.4. 函數:FLOOR

语法:

FLOOR(number)

用途:

该函数返回小于等于number的最大整数.


4.5. 函數:MOD

语法:

MOD(n,m)

用途:

该函数返回n除m的模,结果是n除m的剩余部分.m,n可以是小数,负数.

4.6. 函數:POWER

语法:

POWER(x,y)

用途:

该函数执行LOG函数的反操作,返回x的y次方.

4.7. 函數:ROUND

语法:

ROUND(number,decimal_digits)

用途:

该函数将数值number四舍五入到指定的小数位.如果decimal_digits为0,则返回整数.decimal_digits可以为负数.

4.8. 函數:TRUNC

语法:

TRUNC(number[,decimal_pluces])

用途:

该函数在指定的小数字上把一个数值截掉.如果不指定精度,函数预设精度为0. decimal_pluces可以为负数.


4.9. 函數:SIGN

语法:

SIGN(number)

用途:

该函数返回number的符号,如果number为正数则返回1,为负数则返回-1,为0则返回0.

4.10. 函數:SIN

语法:

SIN(number)

用途:

该函数返回弧度number的正弦值.

4.11. 函數:SINH

语法:

SINH(number)

用途:

该函数返回number的返正弦值.

4.12. 函數:COS

语法:

COS(number)

用途:

该函数返回弧度number的三角余弦值.要用角度计算余弦,可以将输入值乘以0.01745转换成弧度后再计算.


4.13. 函數:COSH

语法:

COSH(number)

用途:

该函数返回输入值的反余弦值.

4.14. 函數:TAN

语法:

TAN(number)

用途:

该函数返回弧度number的正切值.

4.15. 函數:TANH

语法:

TANH(number)

用途:

该函数返回数值number的反正切值.

4.16. 函數:LN

语法:

LN(number)

用途:

该函数返回number自然对数.


4.17. 函數:EXP

语法:

EXP(number)

用途:

该函数返回e(2.71828183)的number次方.该函数执行自然对数的反过程.

4.18. 函數:LOG

语法:

LOG(base,number)

用途:

该函数返回base为底,输入值number的对数.


5. 单行函数:

单行函数中可以对任何数据类型的数据进行操作.

5.1. 函數:DUMP

语法:

DUMP(expression[,format[,start[,length]]])

用途:

该函数按指定的格式显示输入数据的内部表示.下表列出了有效的格式.

格式代码

描述

8

八进制

10

十进制

16

十六进制

17

单字符

例如:

SELECT DUMP('FARRELL',16)

FROM dual

DUMP('FARRELL',16)

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

Typ=96 Len=7: 46,41,52,52,45,4c,4c

5.2. 函數:GREATEST

语法:

GREATEST(list of values)

用途:

该函数返回列表中项的最大值.对数值或日期来说,返回值是最大值或最晚日期,如果列表中包含字符串,返回值是按字母顺序列表中的最后一项.

例如:

SELECT GREATEST(123,234,432,112)

FROM dual

GREATEST(123,234,432,112)

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

432

5.3. 函數:LEAST

语法:

LEAST(list of values)

用途:

该函数返回列表中项的最小值.对数值或日期来说,返回值是最小值或最早日期,如果列表中包含字符串,返回值是按字母顺序列表中的第一项.

例如:

SELECT LEAST(sysdate,sysdate-10)

FROM dual

LEAST(SYS

---------

10-JAN-00

5.4. 函數:NVL

语法:

NVL(expression,replacement_value)

用途:

如果表达式不为空值,函数返回该表达式的值,如果是空值,就返回用来替换的值.

例如:

SELECT last_name,

NVL(TO_CHAR(COMMISSION),'NOT APPLICABLE')

FROM employee

WHERE department_id=30

LAST_NAME NVL(TO_CHAR(COMMISSION),'NOTAPPLICABLE')

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

ALLEN 300

WARD 500

MARTIN 1400

BLAKE NOT APPLICABLE


6. 多行函数

组函数可以对表达式的所有值操作,也可以只对其中不同值进行操作,组函数的语法如下所示:

function[DISTINCT|ALL expression]

如果既不指定DISTINCT,也不指定ALL,函数将对查询返回的所有数据行进行操作.不能在同一个SELECT语句的选择列中同时使用组函数和单行函数.

6.1. 函數:AVG

语法:

AVG([DISTINCT|ALL] expression)

用途:

对查询返回的数据行求平均值.

例如:

SELECT AVG(sal) "Average"

FROM emp

Average

----------

2073.21429

6.2. 函數:COUNT

语法:

COUNT([DISTINCT|ALL] expression)

用途:

计算表达式的个数.要计算EMP表中雇员的个数.

例如:

SELECT COUNT(deptno)

FROM emp

COUNT(DEPTNO)

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

14

SELECT COUNT(distinct deptno)

FROM emp

COUNT(DISTINCTDEPTNO)

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

3

6.3. 函數:MAX

语法:

MAX([DISTINCT|ALL] expression)

用途:

对查询返回的行集求最大值.如果有多个最大值,将所有均返回.要检索公司中最高工资的雇员.

语法:

SELECT ename,sal

FROM emp

WHERE sal=(select max(sal)

FROM emp)

ENAME SAL

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

KING 5000

6.4. 函數:MIN

语法:

MIN([DISTINCT|ALL] expression)

用途:

对查询返回的行集求最小值.如果有多个最小值,将所有均返回.

例如:

SELECT MIN(last_name)

FROM employee

MIN(LAST_NAME)

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

ADAMS

6.5. 函數:SUM

语法:

SUM([DISTINCT|ALL] expression)

用途:

计算查询返回的所有非空数值的总和.如果返回的数据都是空值,则该函数也返回空值.

例如:

SELECT SUM(salary)"Total"

FROM employee

WHERE department_id=10

Total

---------

8750

6.6. 函數:VARIANCE

语法:

VARIANCE([DISTINCT|ALL] expression)

用途:

该函数计算返回所有行的统计方差.

例如:

SELECT VARIANCE(salary)

FROM employee

VARIANCE(SALARY)

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

973659.27


伪列

返回值

Sequence.CURRVAL

上一次由序列产生器产生的序列名值.只有在当前实例会话中从该序列选择过一次值,这个伪列才会有效.

LEVEL

查诣的深度,LEVEL适用于特殊的树查询.

Sequence.NEXTVAL

选择这个伪列将导致序列发生器返回该序列的下一个值.一旦选择了该值,它就不能被重用,因为以后的每次检索都将返回下一个值.

ROWID

这个伪列表示数据行确切的存储位置.ROWID的格式是一个三个16进制数的结构AAAAAAAA.BBBB.CCCC,这里AAAAAAAA表示数据库文件中包含该行的块号,BBBB是数据块内部的行号,而CCCC则是数据中的文件ID.

ROWNUM

被检索数据行的序列号.

SYSDATE

当前日期和时间.

UID

当前用户的标识ID.

USER

用户登录进数据库的名字.


TABLE: LOCATION 部门地址表

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

LOCATION_ID NOT NULL NUMBER(3) 地址ID

REGIONAL_GROUP VARCHAR2(20) 地址名

TABLE: DEPARTMENT 部门名称表

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

DEPARTMENT_ID NOT NULL NUMBER(2) 部门ID

NAME VARCHAR2(14) 部门名称

LOCATION_ID NUMBER(3) 地址ID(LOCATION.LOCATION_ID)

TABLE: JOB 工种表

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

JOB_ID NOT NULL NUMBER(3) 工种ID

FUNCTION VARCHAR2(30) 工种名称

TABLE: EMPLOYEE 雇员信息表

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

EMPLOYEE_ID NOT NULL NUMBER(4) 雇员ID

LAST_NAME VARCHAR2(15)

FIRST_NAME VARCHAR2(15)

MIDDLE_INITIAL VARCHAR2(1)

JOB_ID NUMBER(3) 工种ID(JOB.JOB_ID)

MANAGER_ID NUMBER(4) 领导ID(EMPLOYEE.EMPLOYEE_ID)

HIRE_DATE DATE 雇佣日期

SALARY NUMBER(7,2) 薪水

COMMISSION NUMBER(7,2) 佣金

DEPARTMENT_ID NUMBER(2) 部门ID(DEPARTMENT.DEPARTMENT_ID)

TABLE: SALARY_GRADE 薪资等级表

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

GRADE_ID NOT NULL NUMBER(3) 等级ID

LOWER_BOUND NUMBER(7,2) 最低工资

UPPER_BOUND NUMBER(7,2) 最高工资

TABLE: PRODUCT 产品信息表

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

PRODUCT_ID NOT NULL NUMBER(6) 品号

DESCRIPTION VARCHAR2(30) 品名

TABLE: PRICE 产品价格表

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

PRODUCT_ID NOT NULL NUMBER(6) 品号(PRODUCT.PRODUCT_ID)

LIST_PRICE NUMBER(8,2) 价格

MIN_PRICE NUMBER(8,2) 最低价格

START_DATE NOT NULL DATE 生效日期

END_DATE DATE 失效日期

TABLE: CUSTOMER 客户信息表

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

CUSTOMER_ID NOT NULL NUMBER(6) 客户ID(CUSTOMER.CUSTOMER_ID)

NAME VARCHAR2(45) 客户名

ADDRESS VARCHAR2(40) 客户地址

CITY VARCHAR2(30) 城市

STATE VARCHAR2(2) 州

ZIP_CODE VARCHAR2(9) 邮编

AREA_CODE NUMBER(3) 区号

PHONE_NUMBER NUMBER(7) 电话号码

SALESPERSON_ID NUMBER(4) 销售员ID(EMPLOYEE.EMPLOYEE_ID)

CREDIT_LIMIT NUMBER(9,2) 信用限制

COMMENTS LONG 备注

TABLE: SALES_ORDER 订单单头表

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

ORDER_ID NOT NULL NUMBER(4) 订单ID

ORDER_DATE DATE 订单日期

CUSTOMER_ID NUMBER(6) 客户ID(CUSTOMER.CUSTOMER_ID)

SHIP_DATE DATE 出货日期

TOTAL NUMBER(8,2) 总金额

TABLE: ITEM 订单单身表

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

ORDER_ID NOT NULL NUMBER(4) 订单ID(SALES_ORDER.ORDER_ID)

ITEM_ID NOT NULL NUMBER(4) 订单行号

PRODUCT_ID NUMBER(6) 品号(PRODUCT.PRODUCT_ID)

ACTUAL_PRICE NUMBER(8,2) 实际价格

QUANTITY NUMBER(8) 订单数量

TOTAL NUMBER(8,2) 总金额

分享到:
评论

相关推荐

    pl/sql最新中文手册

    3. **异常处理**:在PL/SQL中,异常处理是通过EXCEPTION关键字实现的,用于捕获并处理运行时错误。手册会详细解释如何定义和使用预定义及自定义异常。 4. **数据库操作**:PL/SQL与Oracle数据库紧密集成,可以执行...

    pl/sql开发手册

    综上所述,《PL/SQL开发手册》不仅涵盖了PL/SQL的基本语法和编程技巧,还深入探讨了数据库对象管理、性能优化、测试调试等多个方面,为Oracle初学者提供了一站式的开发指南。无论是希望提升数据库技能的专业人士,...

    PL/SQL 语法手册

    手册分为两大部分,分别对SQL语法和PL/SQL语法进行了详细讲解。 第一部分,SQL语法部分,主要涉及以下关键语句和概念: 1. **CREATE TABLE** 语句:用于创建数据库中的表,定义了表的结构,包括列名、数据类型、...

    PL/Sql相关语法

    PL/SQL,全称Procedural Language/Structured Query Language,是Oracle公司为标准SQL扩展的一种编程语言,它深度融合在Oracle数据库系统中,提供更高级别的数据处理能力。PL/SQL结合了过程化编程的特性,使得数据库...

    Oracle PL/SQL实战(待续)

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

    PL/SQL语法帮助

    本压缩包"PL/SQL语法帮助"是专为初学者设计的指南,包含Sqlhelp.hlp和Plshelp.hlp两个帮助文件,旨在帮助新手快速掌握PL/SQL的基本概念和用法。 首先,让我们深入了解一下PL/SQL的主要组成部分: 1. **声明部分**...

    pl/sql developer11.0

    1. **代码编辑器**:PL/SQL Developer提供了一个功能丰富的代码编辑器,支持语法高亮、自动完成、错误检测、代码折叠和多文档界面。这些特性极大地简化了代码编写和维护的过程。 2. **调试工具**:内置的调试器允许...

    pl/sql64位

    1. **代码编辑器**:提供语法高亮、自动完成和错误检查,使得编写PL/SQL代码更加便捷。 2. **数据库连接**:支持多种Oracle数据库版本的连接,无需复杂的配置步骤,只需输入必要的连接信息。 3. **对象浏览器**:...

    pl/sql语法详解

    本教程将全面解析PL/SQL的语法和应用,是学习者掌握这一技能的宝贵资料。 一、PL/SQL基本结构 PL/SQL由声明部分、执行部分和异常处理部分组成。声明部分包括变量、常量、游标、记录等的定义;执行部分包含SQL语句和...

    PL/SQL doc 文件

    本文将讲述 PL/SQL 基础语法、结构和组件、以及如何设计并执行一个 PL/SQL 程序。 PL/SQL 的优点包括: * 高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令。 * 支持所有 SQL 数据...

    Oracle资料学习PL/SQL必备

    1. **基本语法**:PL/SQL由声明部分、执行部分和异常处理部分组成。声明部分用于定义变量、游标、常量等;执行部分包含SQL语句和PL/SQL控制结构,如循环、条件判断等;异常处理部分用于捕获和处理程序运行时可能出现...

    PL/SQL Trigger PL/SQL TriggerPL/SQL TriggerPL/SQL Trigger

    PL/SQL Trigger是Oracle数据库中的一个关键特性,用于在特定的数据库事件发生时自动执行一段预定义的PL/SQL代码。这些事件可能包括对表的INSERT、UPDATE或DELETE操作,或者其他的数据库活动。触发器是数据库级别的...

    PL/SQL初学者手册

    ### PL/SQL初学者手册知识点总结 #### 一、PL/SQL简介 PL/SQL (Procedural Language for SQL) 是 Oracle 对标准 SQL 语言的一种过程性扩展。它结合了 SQL 的数据处理能力和传统编程语言的过程控制能力,使得开发者...

    pl/sql developer 用户指南中文版

    3. 源代码编辑器:它提供语法高亮、自动完成、错误检查等功能,使得编写PL/SQL代码更为便捷。同时,还支持代码折叠、模板和自定义键绑定,提高编码效率。 4. 调试器:内置的调试器允许用户设置断点、单步执行、查看...

    ORACLE PL/SQL从入门到精通

    循环语句是PL/SQL编程中用来重复执行一组语句的结构,包括loop、while、for三种形式,它们各自有不同的使用场景和语法。 分支条件语句在PL/SQL中用来根据不同的条件执行不同的代码分支,主要包括CASE表达式和if-...

    pl/sql的语法帮助

    以下是一些关键的PL/SQL语法点: 1. **声明变量**:在PL/SQL块的声明部分,你可以声明变量,如`DECLARE var_name datatype;`。例如,`DECLARE num NUMBER;` 2. **数据类型**:PL/SQL支持多种数据类型,包括数值...

    pl/sql 免安装,绿色版pl/sql

    1. **PL/SQL编程支持**:PL/SQL Developer内置了强大的PL/SQL编辑器,支持语法高亮、自动完成、错误检查等功能,使开发人员能够高效编写PL/SQL代码。此外,还具备代码折叠、查找替换、书签设置等实用功能,提高了...

    oracle sql and pl/sql

    根据提供的文件信息,我们可以推断出本书主要关注的是Oracle SQL 和 PL/SQL 的掌握与应用。下面将基于这些信息来生成相关的知识点。 ### Oracle SQL 和 PL/SQL 知识点 #### 一、Oracle SQL 概述 1. **定义**:...

Global site tag (gtag.js) - Google Analytics