Abrufen von SQL Server-Daten mithilfe der Spalten-Ordinalposition
Während die Verwendung von Ordinalpositionen für die Spaltenauswahl im Allgemeinen nicht empfohlen wird, kann es Situationen geben, in denen dies der Fall ist für bestimmte Aufgaben erforderlich, beispielsweise für einmalige Datenimportvorgänge. Betrachten Sie das folgende Beispiel:
create table Test( Col1 int, Col2 nvarchar(10) )
Anstelle der Verwendung der herkömmlichen Syntax:
select Col2 from Test
Es kann wünschenswert sein, Ordinalpositionen zu verwenden, um auf Spaltendaten zuzugreifen:
select "2" from Test -- for illustration purposes only
Leider wird dieser Ansatz in SQL Server nicht unterstützt. Wenn jedoch die Anzahl der Spalten bekannt ist, kann eine Problemumgehung angewendet werden:
select NULL as C1, NULL as C2 where 1 = 0 -- Returns empty table with predefined column names union all select * from Test -- There should be exactly 2 columns, but names and data type doesn't matter
Dies führt zu einer leeren Tabelle mit zwei vordefinierten Spalten namens [C1] und [C2]. Die Daten aus der Testtabelle können dann in dieser leeren Tabelle vereint werden, um sicherzustellen, dass die Spalten korrekt ausgerichtet sind.
Diese Methode ist nicht besonders nützlich für Tabellen mit einer großen Anzahl von Spalten. Es kann jedoch eine praktische Lösung für Tabellen mit einer vorgegebenen Anzahl von Spalten sein.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL Server-Daten mithilfe der Spalten-Ordinalposition abrufen, wenn der direkte Zugriff nicht unterstützt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!