Récupération de données SQL Server à l'aide de la position ordinale des colonnes
Bien que l'utilisation des positions ordinales pour la sélection des colonnes soit généralement déconseillée, il peut y avoir des scénarios dans lesquels cela est nécessaires à des tâches spécifiques, telles que des processus d'importation de données ponctuels. Prenons l'exemple suivant :
create table Test( Col1 int, Col2 nvarchar(10) )
Au lieu d'utiliser la syntaxe traditionnelle :
select Col2 from Test
Il peut être souhaitable d'utiliser des positions ordinales pour accéder aux données des colonnes :
select "2" from Test -- for illustration purposes only
Malheureusement, cette approche n'est pas prise en charge dans SQL Server. Cependant, si le nombre de colonnes est connu, une solution de contournement peut être utilisée :
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
Il en résulte un tableau vide avec deux colonnes prédéfinies nommées [C1] et [C2]. Les données de la table Test peuvent ensuite être réunies dans cette table vide, garantissant ainsi que les colonnes s'alignent correctement.
Cette méthode n'est pas particulièrement utile pour les tables comportant un grand nombre de colonnes. Cependant, cela peut être une solution pratique pour les tableaux avec un nombre prédéterminé de colonnes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!