Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1960 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Récupérer le type d'un champ

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer le type d'un champ

n°1198797
kermarrecn
Posté le 13-09-2005 à 18:39:17  profilanswer
 

Bonjour à tous,  
 
Comment faire pour récupérer le type d'un champ de stockage d'une base SQL via une requete.  
 
ex: je crée une requete sql du style "select mon_champ from ma_table" et je voudrai en plus de la valeur, récupérer le type du champ mon_champ (char, int, bool, ...)
 
Voila.
 
 
Merci d'avance pour vos réponses...

mood
Publicité
Posté le 13-09-2005 à 18:39:17  profilanswer
 

n°1199005
omega2
Posté le 14-09-2005 à 09:26:25  profilanswer
 

En une seule requette c'est pas possible, mais normalement, toutes les bases de données ont une requette permettant de récupérer des infos (entre autre le type du champ) sur les colones d'une table.
Tant que tu ne nous auras pas dit qu'elle base de donnée t'utilises on ne peut pas t'aider alors soit tu consulte  la doc de la base de donnée, soit tu nous donnes cette info.

n°1199281
kermarrecn
Posté le 14-09-2005 à 13:15:46  profilanswer
 

Merci pour la réponse!
 
Désolé pour cette omission!  
J'utilise une BDD SQL SERVER.
 
Mais si ce n'est pas possible de récupérer le tout en une seule requete, je vais devoir m'orienter vers une autre solution sous peine de me trouver confronté à une multiplication importante du nombre de requete.
 
Merci beaucoup pour cette précision.
 
A plus tard.

n°1199774
Arjuna
Aircraft Ident.: F-MBSD
Posté le 14-09-2005 à 22:47:53  profilanswer
 

Code :
  1. select soc.codsoc, sc.type
  2. from soc, syscolumns sc, sysobjects so
  3. where so.xtype = 'U'
  4. and so.name = 'soc'
  5. and sc.id = so.id
  6. and sc.name = 'codsoc'


 
Il faut aussi regarder les champs "length", "scale" et "precision" afin de récupérer les informations étendues du type.
 
Le type est au format "ADO", c'est à dire que le nombre récupéré correspond à la liste de constantes "adVarchar, adInteger, etc."

n°1199776
Arjuna
Aircraft Ident.: F-MBSD
Posté le 14-09-2005 à 22:49:08  profilanswer
 

PS: tu noteras qu'il n'y a pas de relation entre "soc" et les tables "sys*", c'était juste histoire de rammener avec une requête unique...

n°1199779
Arjuna
Aircraft Ident.: F-MBSD
Posté le 14-09-2005 à 22:51:51  profilanswer
 

Tu peux aussi récupérer le type comme ça :

Code :
  1. exec sp_columns @table_name = 'soc', @column_name = 'codsoc'


 
=> Ca rammène plein de colonnes, donc une avec le type écrit en toutes lettres.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Récupérer le type d'un champ

 

Sujets relatifs
[résolu]Champ de type Oui/Noncomment récuperer les données envoyées à une imprimante
Mettre en MSB un champ codé sur 5 octetsQuestion de definition de champ
recuperer le resultat d'une execution javascript[MySQL / Java] Petit souci avec les champs de type DATE
Récupérer le jour de la date couranterecuperer des information à partir d'un fichier html avec C++
Recuperer numeros de tel 
Plus de sujets relatifs à : Récupérer le type d'un champ


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR