首页
学习
活动
专区
圈层
工具
发布

oracle--单行函数和多行函数

sum(字段名) 返回字段的和 count:count --count(*),用来查询表中有多少条记录 --count(字段名),用来查询某个字段有值的个数...注意: --多行函数不能和普通字段直接出现在查询语句中,除非group by --多行函数和单行函数不能直接出现在查询语句中,除非group by...查看员工的最高工资 select max(sal),ename from emp--多行函数不能和普通字段直接出现在查询语句中,除非group by select max(sal),...lower(ename) from emp--多行函数和单行函数不能直接出现在查询语句中,除非group by select ename from emp 查看员工的最低工资...,sal+comm 月薪 from emp select ename,sal 基本工资,comm 绩效,sal+nvl(comm,0)月薪 from emp 查询所有员工的月薪及姓名和工作

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle行转列,pivot函数和unpivot函数

    Oracle 测试数据 行转列 以下一般是行转列的正常需求: image.png 要完成该需求,可以用两种方法 一是:CASE WHEN+GROUP BY 二是PIVOT函数 我们用第二种 SELECT...* FROM TEST_PIVOT PIVOT(SUM(SCORE) FOR COURSE IN('英语','数学','语文'))B image.png 这些中文字段名比较刺眼,王五的 英语列和 数学列也为空不好看...TEST_PIVOT PIVOT(SUM(SCORE) FOR COURSE IN('英语' AS ENGLISH ,'数学' AS MARTH,'语文' AS LANGUAGES)) image.png 为什么聚合函数用的是...SUM原因是要看具体的逻辑,如果李四的语文补考了一次,不同的聚合函数代表不同的逻辑: image.png 列转行 image.png 要完成该需求,可以用两种方法 一是:UNION ALL 二是UMPIVOT...函数 我们用第二种 SELECT name,COURSE,SCORE FROM TEST_PIVOT1 T UNPIVOT(SCORE FOR COURSE IN(ENGLISH,MARTH,LANGUAGES

    1.7K30

    oracle基础|oracle函数的使用|oracle单行函数(字符函数、日期函数、数字函数、转换函数)的使用

    目录 一、 前言 二、什么是函数 1、哑表dual 2、字符函数 3、数字函数 4、日期函数 5、类型转换函数 6、千年虫: ---- 一、 前言 前面我们学了一些简单的用法,今天要学习oracl函数的使用...,函数是oracle非常重要的功能,如果将函数学会了,那么基本上在项目的一些增删改查功能,就可以很轻松的上手了,所以这篇文章一定要认真的看 二、什么是函数 这里的函数相当于java中写好的一些方法,有名字...分组函数 学习之前,我们先了解一下什么是哑表,后面我们会用到 1、哑表dual dual是一个虚拟表,辅助查找和运算。...通常用在select语句中,作为查询的目标表结构,oracle保证dual里面永远只有一条记录。...数据库中表示一个日期数据的几种方式 1.sysdate 2.oracle默认的日期格式 例如:'25-MAY-95' 3.to_date函数转换

    9.2K10

    Oracle的nvl函数和nvl2函数

    一、基本语法 介绍一下oracle的nvl函数和nvl2函数。 nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1。...nvl2函数 nvl2函数的是nvl函数的拓展,基本语法为nvl2(E1,E2,E3),意思是E1为null,就返回E3,不为null就返回E2。...二、业务场景 nvl()函数比较常用的是这样的nvl(E1,0),意思是E1参数查询到为null的情况,就返回0,不为null就返回E1,常用于非空校验。 nvl2()函数也讲一个业务场景。...今天用列转行函数vm_concat查询的时候,遇到一个问题,对vm_concat不熟悉的可以参考我的另外一篇博客:https://blog.csdn.net/u014427391/article/details...select to_char(nvl2(b,vm_concat(a||'('||b||')'), '') from A group by id 改写SQL,通过nvl2函数实现改写: select to_char

    3.4K20

    Oracle函数

    概述 ORACLE函数系列: Oracle常见函数大全 Oracle-分析函数之连续求和sum(…) over(…) Oracle-分析函数之排序值rank()和dense_rank() Oracle-...分析函数之排序后顺序号row_number() Oracle-分析函数之取上下行数据lag()和lead() ---- 数值型函数 返回绝对值 abs(x) ABS(X) 【功能】返回x的绝对值 【参数...中的字符函数中,有一类函数是求字符长度的函数,length、lengthB、lengthC、length2、length4几个函数中比较常用的是length、lengthB。...中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。...expr2和expr3类型不同的话,expr3会转换为expr2的类型 ---- COALESCE函数 C,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。

    5.2K50

    Oracle应用之nvl函数和nvl2函数

    一、基本语法 介绍一下oracle的nvl函数和nvl2函数。 nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1。...nvl2函数 nvl2函数的是nvl函数的拓展,基本语法为nvl2(E1,E2,E3),意思是E1为null,就返回E3,不为null就返回E2。...二、业务场景 nvl()函数比较常用的是这样的nvl(E1,0),意思是E1参数查询到为null的情况,就返回0,不为null就返回E1,常用于非空校验。 nvl2()函数也讲一个业务场景。...今天用列转行函数vm_concat查询的时候,遇到一个问题,对vm_concat不熟悉的可以参考我的另外一篇博客:https://blog.csdn.net/u014427391/article/details...select to_char(nvl2(b,vm_concat(a||'('||b||')'), '') from A group by id 改写SQL,通过nvl2函数实现改写: select to_char

    1.8K10

    Oracle函数学习(单行函数,多行函数)

    可以使用小括号提升条件的执行级别,使用了小括号的级别是最高的 select * from emp where (job=‘SALESMAN’ or job=‘MANAGER’) and sal>2500 –Oracle...–特点2:可以和字段混合使用 –使用:select 字段名, 函数名(字段名),字段名…from 表名 –字符函数: –查询所有的员工信息,员工姓名小写显示。...(max,min,avg,sum,count)很重要 –作用:对查询的数据进行统计 –使用:select 多行函数名(字段名),多行函数名(字段名)…from 表名 –注意:多行函数不能和普通字段以及单行函数混用...返回表的记录数 –count(字段名) 返回非空值的数量 –count(distinct 字段名) 去除重复后的字段值的数量 –查看员工的最高工资 select max(sal) from emp–多行函数不能和字段直接混用...select lower(ename),max(sal) from emp–多行函数 不能和单行函数混用,除非分组 –查看员工的最低工资 select min(sal) from emp –查看员工的平均工资

    1.2K30

    Oracle函数学习(转换函数)

    –转换函数: –to_number(数值类型的字符):将字符转换为数值 –to_char(数值或者是日期):将数值或者日期转换为字符 –to_date(日期格式的字符):将字符转换为日期 数值和字符的互转...select * from emp where sal>‘2000’; select * from emp where sal>to_number(‘2000’); 日期和字符的互转 –一般使用方式...:新增数据使用to_date(),查询数据使用to_char() –字符转换为日期 char—>date –使用to_date(‘要转换的字符’,日期格式)函数将字符转换为日期 –注意1:字符必须符合日期格式...–注意2:oralce默认的转换格式为日月年,例如’01-1月-2018’ oracle认为是一个日期 –常用日期格式: – yyyy-mm-dd – yyyy/mm/dd –查询员工入职日期在...使用指定格式 yyyy/mmm/dd select to_char(hiredate,‘yyyy"年"mm"月"dd"日"’) from emp–使用指定格式 ‘yyyy"年"mm"月"dd"日"’ –其他函数

    1.4K20

    Oracle分析函数二——函数用法

    Oracle分析函数实际上操作对象是查询出的数据集,也就是说不需二次查询数据库,实际上就是oracle实现了一些我们自身需要编码实现的统计功能,对于简化开发工作量有很大的帮助,特别在开发第三方报表软件时是非常有帮助的...Oracle从8.1.6开始提供分析函数。...oracle分析函数的语法: function_name(arg1,arg2,...) over ( <windowing clause...说明: 1. partition-clause 数据记录集分组 2. order-by-clause 数据记录集排序 3. windowing clause 功能非常强大、比较复杂,定义分析函数在操作行的集合...--Partition by Order by首先按相应的值(manager_id,hire_date)排序,并按order by的值(hire_date)进行累计统计 --该平均值由当前员工和与之具有相同经理的前一个和后两个三者的平均数得来

    93310

    Oracle分析函数七——函数案例

    环比   环比就是现在的统计周期和上一个统计周期比较。例如2008年7月份与2008年6月份相比较称其为环比。   环比发展速度是报告期水平与前一时期水平之比,表明现象逐期的发展速度。...学过统计或者经济知识的人都知道,统计指标按其具体内容、实际作用和表现形式可以分为总量指标、相对指标和平均指标。由于采用基期的不同,发展速度可分为同比发展速度、环比发展速度和定基发展速度。...同比   英文:year-on-year   同比就是今年第n月与去年第n月比;(环比就是今年第n月与第n-1月或第n+1月比)学过统计或者经济知识的人都知道,统计指标按其具体内容、实际作用和表现形式可以分为总量指标...由于采用基期的不同,发展速度可分为同比发展速度、环比发展速度和定基发展速度。简单地说,就是同比、环比与定基比,都可以用百分数或倍数表示。   ...IN ( SELECT b.employeeno,max(salary) FROM salaryByMonth b GROUP BY b.employeeno ) --用分析函数替代

    70420

    Oracle实践|Oracle内置函数之字符串函数

    针对INSTR内置函数时针对字符串的操作,所以这里也想介绍一下其他的字符串相关的内置函数。...例如Oracle 数据库提供了丰富的内置函数,涵盖数值处理、字符串操作、日期和时间处理、逻辑判断、集合处理、数据分析、数据类型转换等多个方面。...下面就随着我一起来学习下这个内置函数吧,有解释不到之处,还望批评指正。示例环境本篇示例是基于Oracle DB 19c EE (19.17.0.0.0)版本操作,如果有不同之处,请指出。...从上面的实验示例来看:default_1是去掉了两边的空格,执行的是默认情况;default_2是从头部开始去除空格;default_3是从尾部开始去除空格;default_4是从两边开始去除空格(头部和尾部都去掉空格...总结有些内置函数可以在SELECT语句中用于处理数据,同时也可以在WHERE等语句中使用。今天了解到的函数在处理数据库中的字符串数据时非常有用,特别是当需要转换、去除、清理或格式化数据时。

    1.7K10

    Oracle|函数索引

    函数索引 在Oracle中,有一类特殊的索引,称为函数索引(Function-Based Indexes,FBI),它基于对表中列进行计算后的结果创建索引。...函数索引在不修改应用程序的逻辑基础上提高了查询性能。如果没有函数索引,那么任何在列上执行了函数的查询都不能使用这个列的索引。当在查询中包含该函数时,数据库才会使用该函数索引。...( initial 9M next 1M minextents 1 maxextents unlimited ); 4.但是再次查询时发现,查询依旧很慢,通过查看Oracle...maxtrans 255 storage ( initial 9M next 1M minextents 1 maxextents unlimited ); 6.使用Oracle...2.不建议使用自定义函数 如果被函数索引所用的自定义函数失效或该函数索引的属主没有了在函数索引里面使用的函数的执行权限,则会导致ORA-06575错误 重新修改自定义函数并在编译无报错通过后,方可正常使用

    1.6K50

    Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正。...1.Oracle 数据库中的to_date()函数的使用:   往emp表中插入一条记录: SQL> insert into emp values(1234,'LIZELU','BOSS',1234,...:格式to_date('1965-02-05','yyyy-mm-dd'); 2.Oracle中的字符函数:   字符函数是Oracle中最常用的函数,   lower(char); 把字符串转换为小写格式...acos(n),asin(n),stan(n) 返回数字的反余弦,反正弦,反正切的值 exp(n):返回e的n次幂; log(m,n);返回对数值; power(m,n);返回m的n次幂 4.Oracle...中的日期函数:   日期函数用于处理date类型的数据:默认情况下是dd-mon-yy格式。

    1.7K90

    Oracle常用函数

    以上是Oracle的一些常用的系统函数 二、常用的单行函数 1.1、字符函数 1、lower(字段名)   转小写 select id,lower(ENAME) from Test6 ?...注:通过trunc函数和下面将会讲解的日期函数我们可以获取任意我们想要的时间(事件可以是任意格式,只要你这些函数用的六),所以非常方便 (3)mod(被除数,除数)  取余 select mod(12,5...三、日期函数 下面的sysdate都是 ? 1、sysdate  返回系统当前日期     实际上Oracle内部存储日期的格式是:世纪,年,月,日,小,分钟,秒。   ...不管如何输入都这样   9i开始,默认的日期格式是:DD-MON-RR,之前是DD-MON-YY   RR 和YY 都是世纪后的两位,但有区别   ORACLE的有效日期范围是:公元前年月日-年月日 select...注意:这个函数有个需要注意的地方 NEXT_DAY()是和当前环境的LANGUAGE变量有关的。 ? ? So: 下一天最好用数字表示,否则你就会碰到莫名奇怪的问题。

    2.9K90
    领券