SQLServer之列数据转换为行数据
程序员文章站
2023-01-22 08:11:26
UNPIVOT特点 UNPIVOT运算符通过将列旋转到行来执行PIVOT的反向操作,UNPIVOT 并不完全是 PIVOT 的逆操作。 PIVOT 执行聚合,并将多个可能的行合并为输出中的一行。UNPIVOT 不重现原始表值表达式的结果,因为行已被合并。 另外,UNPIVOT 输入中的 NULL 值 ......
unpivot特点
unpivot运算符通过将列旋转到行来执行pivot的反向操作,unpivot
并不完全是 pivot
的逆操作。 pivot
执行聚合,并将多个可能的行合并为输出中的一行。unpivot
不重现原始表值表达式的结果,因为行已被合并。 另外,unpivot
输入中的 null 值也在输出中消失了。如果值消失,表明在执行 pivot
操作前,输入中可能就已存在原始 null 值。
语法
select 输出列名,...,输出列名,输出值列名称
from (select 输出列名,...,转换列列名,... from 数据库名.架构名.表名) as 别名
unpivot(
输出值列名称 for 输出列名 in
(转换列列名,...)
) as 别名
示例
select unpriots.name,unpriots.course,unpriots.score
from (select name,android,[.net],ios,html5 from test1.dbo.student2) as a
unpivot(
score for course in
(android,[.net],ios,html5)
) as unpriots
示例结果
上一篇: 数据库练习(学生表)
推荐阅读
-
将备份的SQLServer数据库转换为SQLite数据库操作方法
-
sqlserver交换数据行中的指定列
-
mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)
-
一位转行成功并从事5年的大数据的经验分享
-
mssql sqlserver 如何将一个日期数据转换为"年份-月份"的格式呢?
-
SQLServer之列数据转换为行数据
-
mssql sqlserver 不固定行转列数据(动态列)
-
mssql sqlserver sql对使用逗号分隔的字符串 转换为数据表的另类方法实现
-
SQLServer之数据库行锁
-
ACCESS转SQLSERVER数据库的注意事项