sqlserver列转行函数
有多种方法可以将sql server中列数据转换为行数据,具体方法如下:
1、使用UNPIVOT操作:
UNPIVOT函数可以将一行多列数据转换为多行单列数据。
例如:
SELECT id, value
FROM tab_name
UNPIVOT (value for cols1,cols2 in (col1,col2)) unpvt;
在这里,unpvt是UNPIVOT运算符创建的一个虚拟表,cols1和cols2分别表示两个需要被解析的列,value表示被解析出来的列值。
2、使用CROSS APPLY操作:
CROSS APPLY可以潜在的创建一个表,它可以接受一个结果集作为参数,然后返回该结果集的列和行。
例如:
SELECT col_value
FROM tab_name
CROSS APPLY (VALUES(Cols1),Cols2) v (col_value);
这段代码中,col_value表示两列数据Cols1和Cols2被转换成的行数据。
因篇幅问题不能全部显示,请点此查看更多更全内容