oracle易忘函数用法(6)
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)相关推荐
- oracle易忘函数用法(1)
一般的to_char是这样用的to_char(sysdate,'YYYY-MM-DD hh:mi:ss AM') ,也有几个突出点的用法: to_char(sysdate, 'dd') 查看今天是几号 ...
- oracle易忘函数用法(3)
SOUNDEX() 返回与c1发音相似的词. select SOUNDEX('dawes') Dawes SOUNDEX('daws') Daws, SOUNDEX('dawson') from du ...
- oracle易忘函数用法(5)
6.单行转换函数 单行转换函数用于操作多数据类型,在数据类型之间进行转换. CHARTORWID() c 使一个字符串,函数将c转换为RWID数据类型. SELECT test_id from tes ...
- oracle易忘函数用法(4)
POWER(,) 返回n1的n2次方 ROUND(,) 返回舍入小数点右边n2位的n1的值,n2的缺省值为0,这回将小数点最接近的整数,如果n2为负数就舍入到小数点左边相应的位上,n2必须是整数. s ...
- oracle易忘函数用法(2)
INITCAP() c1为一字符串.函数将每个单词的第一个字母大写其它字母小写返回.单词由空格,控制字符,标点符号限制. select INITCAP('veni,vedi,vici') Ceasar ...
- oracle 的wecate函数,1.Oracle中decode()函数用法
1.Oracle中decode函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻 ...
- oracle数据库 日期函数用法
oracle数据库 日期函数用法 –Oracle trunc()函数的用法 /日期******/ 1.select trunc(sysdate) from dual --2013-01-06 今天的日 ...
- oracle+decode函数用法,oracle中decode函数用法
oracle中decode函数用法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DECODE函数相当于一条件语句(IF ...
- Oracle 的 decode 函数用法
Oracle 中 decode 函数用法 decode函数的含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THE ...
最新文章
- Typora操作指南
- 火山引擎视频云:从toC到toB,如何将最好的技术开放出去
- python 防止转义_python字符串前加r、f、u、l 的区别
- No projects are found to import
- 测试工程方法:判定表驱动法
- 设置Cookie请求头报错(Refused to set unsafe header “Cookie“)
- 湖泊的水色、水环境、水文遥感的区别
- 教学|zbrush雕刻头发笔刷介绍,巧用工具可以事半功倍哦!
- Windows 11 右键菜单反应慢解决
- 前端面试必考的「 Webpack详解 」都在这了
- 金蝶ERP服务器系统中间件,中间件在ERP系统中的作用及发展趋势
- 可以这样理解 TIM_INIT(arr,psc)重装载值和分频值
- 日常维护SQL以及脚本
- 阿里云acp证书有用吗?阿里云acp证书考试内容有哪些?
- [自动化] 如果电脑不会自己看网课,就应该用Python教会它
- 联想涉密专用计算机 字体,Lenovo出厂高分屏笔记本高分辨率下字体模糊的解决方法...
- Flask 源码解析:session
- 超简单的 VIM 练级攻略
- 大数据技术原理与应用(第三章 分布式文件系统HDFS)
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
热门文章
- C++trie类的实现(附完整源码)
- C和C++线性表的顺序存储结构
- 经典C语言程序100例之四八
- 数组分成两组差值最小 python_数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0x100,元素个数也是大于0, 小于100 。...
- android 实现打开相册
- android:textAppearance设置文字外观
- Oracle中管理用户(创建用户,用户加锁,用户解锁,修改用户密码,授权登录权限,撤销登录权限,授权连接权限,conn命令,创建角色,并为角色赋权限,将角色赋给指定用户)
- Android-service
- SQL基础操作_6_处理数字
- 语言结构体在内存的分布_结构体内存对齐,这篇文章给你彻底搞会!(干货收藏)...