Maison > base de données > tutoriel mysql > SQL Server peut-il récupérer les données des colonnes en utilisant la position ordinale ?

SQL Server peut-il récupérer les données des colonnes en utilisant la position ordinale ?

Linda Hamilton
Libérer: 2024-12-31 16:39:13
original
706 Les gens l'ont consulté

Can SQL Server Retrieve Column Data Using Ordinal Position?

La sélection de colonnes basée sur la position ordinale est-elle possible dans SQL Server ?

La sélection de données de colonne en fonction des positions ordinales est généralement déconseillée, mais certains scénarios peuvent justifier son utilisation. Cette question explore la possibilité d'une telle sélection dans SQL Server.

Question :

Pouvons-nous récupérer les données d'une colonne en utilisant la position ordinale d'une colonne de table ? A titre d'exemple, considérons le tableau suivant :

create table Test(
    Col1 int,
    Col2 nvarchar(10)
)
Copier après la connexion

Au lieu de sélectionner à l'aide du nom de la colonne :

select Col2 from Test
Copier après la connexion

Pouvons-nous écrire :

select "2" from Test -- for illustration purposes only
Copier après la connexion

Réponse :

Bien que SQL Server ne prenne pas en charge nativement la sélection des colonnes par position ordinale, une solution de contournement peut être réalisé en exploitant l'opération produit cartésien :

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
Copier après la connexion

Il en résulte un tableau avec deux colonnes ([C1] et [C2]) qui correspondent au nombre de colonnes de la table Test. En sélectionnant la deuxième colonne de ce produit cartésien, on récupère effectivement les données de la deuxième colonne de la table Test.

A noter que cette méthode n'est pratique que pour les tables avec un nombre de colonnes prédéfini. Son utilisation pour des tables comportant un grand nombre de colonnes peut s'avérer inefficace et sujette aux erreurs.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal