LEAST()

exp_list是一列表达式,返回其中最小的表达式,每个表达式都被隐含的转换第一个表达式的数据类型,如果第一个表达式是字符串数据类型中的任何一个,将返回的结果是varchar2数据类型,同时使用的比较是非填充空格类型的比较。

UID

该函数没有参数,返回唯一标示当前数据库用户的整数。

USER

返回当前用户的用户名

USERENV()

基于opt返回包含当前会话信息。opt的可选值为:

ISDBA  会话中SYSDBA脚色响应,返回TRUE

SESSIONID  返回审计会话标示符

ENTRYID 返回可用的审计项标示符

INSTANCE在会话连接后,返回实例标示符。该值只用于运行Parallel 服务器并且有 多个实例的情况下使用。

LANGUAGE返回语言、地域、数据库设置的字符集。

LANG返回语言名称的ISO缩写。

TERMINAL为当前会话使用的终端或计算机返回操作系统的标示符。

VSIZE()            x是一个表达式。返回x内部表示的字节数。

二、SQL中的组函数

组函数也叫集合函数,返回基于多个行的单一结果,行的准确数量无法确定,除非查询被执行并且所有的结果都被包含在内。与单行函数不同的是,在解析时所有的行都是已知的。由于这种差别使组函数与单行函数有在要求和行为上有微小的差异.

1、组(多行)函数

与单行函数相比,oracle提供了丰富的基于组的,多行的函数。这些函数可以在select或select的having子句中使用,当用于select子串时常常都和GROUP BY一起使用。

AVG([{DISYINCT|ALL}])

返回数值的平均值。缺省设置为ALL

SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal) FROM scott.empAVG(SAL) AVG(ALL SAL)

AVG(DISTINCT SAL)1877.94118 1877.94118 1916.071413

COUNT({*|DISTINCT|ALL} )

返回查询中行的数目,缺省设置是ALL,*表示返回所有的行。

MAX([{DISTINCT|ALL}])

返回选择列表项目的最大值,如果x是字符串数据类型,他返回一个VARCHAR2数据类型,如果X是一个DATA数据类型,返回一个日期,如果X是numeric数据类型,返回一个数字。注意distinct和all不起作用,应为最大值与这两种设置是相同的。

MIN([{DISTINCT|ALL}])

返回选择列表项目的最小值。

STDDEV([{DISTINCT|ALL}])

返回选者的列表项目的标准差,所谓标准差是方差的平方根。

SUM([{DISTINCT|ALL}])

返回选择列表项目的数值的总和。

VARIANCE([{DISTINCT|ALL}])

返回选择列表项目的统计方差。

2、用GROUP BY给数据分组

正如题目暗示的那样组函数就是操作那些已经分好组的数据,我们告诉数据库用GROUP BY怎样给数据分组或者分类,当我们在SELECT语句的SELECT子句中使用组函数时,我们必须把为分组或非常数列放置在GROUP BY子句中,如果没有用group by进行专门处理,那么缺省的分类是将整个结果设为一类。

select stat,counter(*) zip_count from zip_codes GROUP BY state;

ST ZIP_COUNT-- ---------AK 360AL 1212AR 1309AZ 768CA 3982

在这个例子中,我们用state字段分类;如果我们要将结果按照zip_codes排序,可以用ORDER BY语句,ORDER BY子句可以使用列或组函数。

select stat,counter(*) zip_count from zip_codes GROUP BY state ORDER BY COUNT(*) DESC;

ST COUNT(*)-- --------NY 4312PA 4297TX 4123CA 3982

3、用HAVING子句限制分组数据

现在你已经知道了在查询的SELECT语句和ORDER BY子句中使用主函数,组函数只能用于两个子串中,组函数不能用于WHERE子串中,例如下面的查询是错误的:

错误SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept='OUTSIDE' AND SUM(sale_amount)>10000 GROUP BY sales_clerk

这个语句中数据库不知道SUM()是什么,当我们需要指示数据库对行分组,然后限制分组后的行的输出时,正确的方法是使用HAVING语句:

SELECT sales_clerk,SUN(sale_amount) FROM gross_sales

WHERE sales_dept='OUTSIDE' GROUP BY sales_clerkHAVING SUM(sale_amount)>10000;

4、嵌套函数

函数可以嵌套。一个函数的输出可以是另一个函数的输入。操作数有一个可继承的执行过程。但函数的优先权只是基于位置,函数遵循由内到外,由左到右的原则。嵌套技术一般用于象DECODE这样的能被用于逻辑判断语句IF....THEN...ELSE的函数。

嵌套函数可以包括在组函数中嵌套单行函数,或者组函数嵌套入单行函数或组函数中。比如下面的例子:

SELECT deptno, GREATEST(COUNT(DISTINCT job),COUNT(DISTINCT mgr) cnt,

COUNT(DISTINCT job) jobs,COUNT(DISTINCT mgr) mgrsFROM empGROUP BY deptno;

DEPTNO CNT JOBS MGRS------ --- ---- ----10 4 4 220 4 3 430 3 3 2

oracle易忘函数用法(6)相关推荐

  1. oracle易忘函数用法(1)

    一般的to_char是这样用的to_char(sysdate,'YYYY-MM-DD hh:mi:ss AM') ,也有几个突出点的用法: to_char(sysdate, 'dd') 查看今天是几号 ...

  2. oracle易忘函数用法(3)

    SOUNDEX() 返回与c1发音相似的词. select SOUNDEX('dawes') Dawes SOUNDEX('daws') Daws, SOUNDEX('dawson') from du ...

  3. oracle易忘函数用法(5)

    6.单行转换函数 单行转换函数用于操作多数据类型,在数据类型之间进行转换. CHARTORWID() c 使一个字符串,函数将c转换为RWID数据类型. SELECT test_id from tes ...

  4. oracle易忘函数用法(4)

    POWER(,) 返回n1的n2次方 ROUND(,) 返回舍入小数点右边n2位的n1的值,n2的缺省值为0,这回将小数点最接近的整数,如果n2为负数就舍入到小数点左边相应的位上,n2必须是整数. s ...

  5. oracle易忘函数用法(2)

    INITCAP() c1为一字符串.函数将每个单词的第一个字母大写其它字母小写返回.单词由空格,控制字符,标点符号限制. select INITCAP('veni,vedi,vici') Ceasar ...

  6. oracle 的wecate函数,1.Oracle中decode()函数用法

    1.Oracle中decode函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻 ...

  7. oracle数据库 日期函数用法

    oracle数据库 日期函数用法 –Oracle trunc()函数的用法 /日期******/ 1.select trunc(sysdate) from dual --2013-01-06 今天的日 ...

  8. oracle+decode函数用法,oracle中decode函数用法

    oracle中decode函数用法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DECODE函数相当于一条件语句(IF ...

  9. Oracle 的 decode 函数用法

    Oracle 中 decode 函数用法 decode函数的含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THE ...

最新文章

  1. Typora操作指南
  2. 火山引擎视频云:从toC到toB,如何将最好的技术开放出去
  3. python 防止转义_python字符串前加r、f、u、l 的区别
  4. No projects are found to import
  5. 测试工程方法:判定表驱动法
  6. 设置Cookie请求头报错(Refused to set unsafe header “Cookie“)
  7. 湖泊的水色、水环境、水文遥感的区别
  8. 教学|zbrush雕刻头发笔刷介绍,巧用工具可以事半功倍哦!
  9. Windows 11 右键菜单反应慢解决
  10. 前端面试必考的「 Webpack详解 」都在这了
  11. 金蝶ERP服务器系统中间件,中间件在ERP系统中的作用及发展趋势
  12. 可以这样理解 TIM_INIT(arr,psc)重装载值和分频值
  13. 日常维护SQL以及脚本
  14. 阿里云acp证书有用吗?阿里云acp证书考试内容有哪些?
  15. [自动化] 如果电脑不会自己看网课,就应该用Python教会它
  16. 联想涉密专用计算机 字体,Lenovo出厂高分屏笔记本高分辨率下字体模糊的解决方法...
  17. Flask 源码解析:session
  18. 超简单的 VIM 练级攻略
  19. 大数据技术原理与应用(第三章 分布式文件系统HDFS)
  20. VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”

热门文章

  1. C++trie类的实现(附完整源码)
  2. C和C++线性表的顺序存储结构
  3. 经典C语言程序100例之四八
  4. 数组分成两组差值最小 python_数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0x100,元素个数也是大于0, 小于100 。...
  5. android 实现打开相册
  6. android:textAppearance设置文字外观
  7. Oracle中管理用户(创建用户,用户加锁,用户解锁,修改用户密码,授权登录权限,撤销登录权限,授权连接权限,conn命令,创建角色,并为角色赋权限,将角色赋给指定用户)
  8. Android-service
  9. SQL基础操作_6_处理数字
  10. 语言结构体在内存的分布_结构体内存对齐,这篇文章给你彻底搞会!(干货收藏)...