原文地址:http://blog.csdn.net/seandba/article/details/72730657 函数PIVOT.UNPIVOT转置函数实现行转列.列转行,效果如下图所示: 1.PIVOT为行转列,从图示的左边到右边 2.UNPIVOT为列转行,从图示的右边到左边 3.左边为纵表,结构简单,易扩展 4.右边为横表,展示清晰,方便查询 5.很多时候业务表为纵表,但是统计分析需要的结果如右边的横表,这时候就需要用到转置函数了 示例图表: Pivot语法: SELECT ....…
Oracle数据库  内置系统函数主要分为以下类别:数学函数.字符串函数.日期函数.转换函数.聚合函数.分析聚合函数 一.数学函数 ------------返回数字       abs(n):返回数字n的绝对值      ceil(n):返回>=数字n的最小整数      floor(n):返回<=数字n的最大整数      round(n,[m]):做四舍五入运算,如果m缺省则四舍五入到整数位                               m<0,四舍五入到小数点的前m位…
组函数AVGCOUNTMAXMINSUMVARIANCE:方差STDDEV:标准差 SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary)FROM employees WHERE job_id LIKE '%REP%'; SELECT MIN(hire_date), MAX(hire_date) FROM employees; COUNT(expr) 返回expr为非空值的行数:SELECT COUNT(commission_pct) …
大小写转换函数LOWER('SQL Course') = sql courseUPPER('SQL Course') = SQL COURSEINITCAP('SQL Course') = Sql CourseSELECT employee_id, last_name, department_idFROM employeesWHERE last_name = 'higgins'; SELECT employee_id, last_name, department_idFROM employees…
隐式转换select * from emp where empno='7788'字符(char,varchar2)转换为数字(number)或日期(date)数字或日期转换为字符 显式转换字符转换为数字或日期(TO_NUMBER, TO_DATE)数字或日期转换为字符(TO_CHAR) TO_CHAR(date, 'format_model')select sysdate, to_char(sysdate,'yyyy') yyyy, to_char(sysdate,'year') year,fr…
有时候会碰到行转列的需求(也就是将列的值作为列名称),通常我都是用 CASE END + 聚合函数来实现的. 如下: declare @t table (StudentName nvarchar(20), Subject nvarchar(20), Score int) Insert into @t (StudentName,Subject,Score) values ( '学生A', '中文', 80 ); Insert into @t (StudentName,Subject,Score)…
pivot  行转列 unpivot  列转行 源码跑步起来 这是能跑起来的 源码转自 http://www.cnblogs.com/zhangzt/archive/2010/07/29/1787825.html create table tb(姓名 varchar(10),课程 varchar(10),分数 int) insert into tb values('张三','语文',74) insert into tb values('张三','数学',83) insert into tb va…
怎么写了一个语句带出这样的结果. 语句: if exists (select * from sysdatabases where name='omni') then 结果: ERROR 位于第 4 行: ORA-06550: 第 4 行, 第 6 列: PLS-00204: 函数或伪列 'EXISTS' 只能在 SQL 语句中使用 ORA-06550: 第 4 行, 第 3 列: PL/SQL: Statement ignored FT死了,难道不能用这个函数吗?应该可以吧.另外,感觉用orac…
一.行转列pivot 关键函数pivot,其用法如下 pivot(聚合函数 for 列名 in(类型)) select * from table_name pivot(max(column_name)                            --行转列后的列的值value,聚合函数是必须要有的                               for column_name in(value_1,value_2,value_3)     --需要行转列的列及其对应列的属性…
pivot函数:行转列函数: 语法:pivot(任一聚合函数 for 需专列的值所在列名 in (需转为列名的值)):unpivot函数:列转行函数: 语法:unpivot(新增值所在列的列名 for 新增列转为行后所在列的列名 in (需转为行的列名)):执行原理:将pivot函数或unpivot函数接在查询结果集的后面.相当于对结果集进行处理. 转换示例: 1.原始表数据: sql语句:select * from T_PIVOT_TEST_1 ; 2.用pivot函数进行行转列.其中用聚合函…