wählen Sie Spalten durch ein concat text als Spaltenname in oracle
Ich habe eine Tabelle mit Spalten benannt, die mit der Anzahl der Stunden des Tages wie folgt:
col00 NUMBER(5)
col01 NUMBER(5)
col02 NUMBER(5)
...
col23 NUMBER(5)
...und ich habe eine weitere Abfrage gibt eine Anzahl von Stunden.
Ich wiederherstellen möchten colXX Wert um Stunde.... dann kann ich wieder mit "decode" oder "Fall, wenn...", aber ich möchte wissen, ob es existiert irgendeiner Weise zu erholen, die Spalte durch einen text wie diesen:
select "col"||hour from table;
in dem hypothetischen Beispiel oben, wenn die Stunde 13 würde dann übersetzt werden wie:
select col13 from table;
gibt es eine Möglichkeit, dies zu tun ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie dynamisches SQL verwenden:
Referenz:
Schließen...
sein nicht so einfaches, aber sehr flexibel und funktioniert großartig für mich.
Während es sieht ein wenig...brute-force - ...könnte man eine Reihe von UNION-Anweisungen, die zwischen Abfragen: