Du kan göra så här:
select col1 from table union
select col2 from table union
. . .
select coln from table;
Användningen av union
tar bort dubbletter av värden. Observera att detta förutsätter att kolumntyperna är kompatibla (som att alla är strängar).
EDIT:
Om kolumnen i en tabell bara måste ha en typ. (Okej, det kunde vara en variant, men det är förmodligen inte en förenkling.) Du kan casta allt till 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;
Alternativt kan du gruppera kolumnerna efter datatyp och göra en separat körning för varje kolumn, eller en separat kolumn för varje datatyp. Det är osannolikt att du kommer att ha exakta matchningar mellan olika datatyper, så detta kan tillgodose ditt behov.