简答题 5.  行列互换有哪些方法?
【正确答案】行列转换包括以下6种情况:①列转行。②行转列。③多列转换成字符串。④多行转换成字符串。⑤字符串转换成多列。⑥字符串转换成多行。其中,重点是行转列和字符串转换成多行。下面将对这几种情况做简要说明,详细转换过程请参考随书pdf文档。
   (1)列转行  列转行就是将原表中的列名作为转换后的表的内容。列转行主要采用UNION ALL来完成。
   (2)行转列  行转列就是将行数据内容作为列名。主要采用MAX和DECODE函数来完成。
   (3)多列转换成字符串  使用||或CONCAT函数实现。
   
   (4)多行转换成字符串  可以采用SYS_CONNECT_BY_PATH来完成。
   (5)字符串转换成多列  实际上就是一个字符串拆分的问题。主要采用SUBSTR和INSTR来完成。
   (6)字符串转换成多行  主要采用UNION ALL、SUBSTR和INSTR来完成,对于其他类型的转换请参考随书pdf文档。还有几类特殊的转换如下:
   
   结果:
   
   若是字符串类型,则如下:
   
   结果:
   
【答案解析】