Możesz to zrobić w ten sposób:
select col1 from table union
select col2 from table union
. . .
select coln from table;
Użycie union
usuwa zduplikowane wartości. Zauważ, że zakłada się, że typy kolumn są kompatybilne (takie jak wszystkie będące ciągami).
EDYCJA:
Jeśli kolumna w tabeli ma mieć tylko jeden typ. (OK, może być wariantem, ale to prawdopodobnie nie jest uproszczenie.) Możesz rzutować wszystko na varchar2()
:
select cast(col1 as varchar2(255)) from table union
select cast(col2 as varchar2(255)) from table union
. . .
select cast(coln as varchar2(255)) from table;
Alternatywnie można pogrupować kolumny według typu danych i wykonać osobny przebieg dla każdej z nich lub osobną kolumnę dla każdego typu danych. Jest mało prawdopodobne, że będziesz mieć dokładne dopasowania między typami danych, więc może to zaspokoić Twoje potrzeby.