如何在Oracle中对不同的数据类型列使用unpivot()

时间:2018-04-11 06:20:31

标签: sql oracle

在table1中,列的数据类型如下,

category1 VARCHAR2(20 CHAR)
category2 VARCHAR2(20 CHAR)
category3 NUMBER

我想使用unpivot()制作一个视图,将所有category1,category2和category3设置为类别列。

select
ID,
CATEGORY,   
REASON  
from  table1  
 unpivot(
        REASON for CATEGORY in(catgory1,category2,category3)
        );

当我尝试执行此查询时,它会显示以下错误,

  

表达式必须与相应的表达式具有相同的数据类型

1 个答案:

答案 0 :(得分:5)

因为category3在表中是NUMERIC数据类型所以将其更改为Varchar或Char。

re-build