2011-10-17 2 views
1

J'ai une table avec environ 100+ champs. Il y a un certain nombre de champs de date éparpillés (je soupçonne environ 8 ou plus). Je souhaite avoir une requête ou StoredProcedure qui sélectionne uniquement les champs dont le type de données est Date ou Datetime.Écrire une requête qui extrait tous les champs d'une table qui contient la date

Ce n'est pas une exigence de Project, ce sera seulement mon outil d'analyse. J'utilise MSSQL 2005 mais il ne doit pas être seulement en MSSQL.

+0

Donc, toutes les colonnes sont des variables et vous voulez balayer la table pour les valeurs dans ces colonnes qui pourraient ressembler à une date? – Icarus

+0

Non. Si une colonne est définie en tant que champ datetime (pas par le nom réel), seules les colonnes doivent être affichées ou même sélectionnées. –

Répondre

1
select column_name 
from information_schema.columns 
where table_name = 'yourTableName' 
and data_type like '%date%' 
2

Vous pouvez interroger les métadonnées:

select * 
from information_schema.columns 
where table_name = 'yourtable' 
and data_type in ('datetime', 'smalldatetime') 

En outre, cette information_schema.columns est disponible dans d'autres systèmes de base de données.

+0

Nice, j'ai 13 champs de date. –

Questions connexes