Bonjour,

Aujourd'hui j'ai un bug étrange avec une donnée en 2070.
J'ai beau retourner mon code source, je ne trouve rien qui corresponde.
Alors je décide de créer une requête qui va rechercher dans la DB toutes les dates après 2070 dans toutes les tables.
J'ai trouvé et résolu mon problème, cool.

Cependant ma requête me sort quand même les colonnes de type entier, alors que j'ai choisis les types dates (40,42,61) .
Si qqun a une idée.

Merci a +

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
DECLARE @Table varchar(75)
DECLARE @Colonne varchar(75)
DECLARE @sqlCommand varchar(1000)
DECLARE @Valeur varchar(75) = '20200101'
create table ##Resultat([Table] varchar(75), Colonne varchar(75), Valeur Datetime2)
 
DECLARE ColCur CURSOR FOR
		Select Object_name(C.object_id) [Table],C.name Colonne
		From sys.columns C
		where C.system_type_id in (40,42,61) and Object_name(C.object_id) not like 'sys%'
		order by Object_name(C.object_id)
 
OPEN ColCur
FETCH NEXT FROM ColCur INTO @Table, @Colonne
WHILE @@FETCH_STATUS = 0
BEGIN
	SET @sqlCommand = 'Insert into ##Resultat SELECT DISTINCT ''' + @Table + ''' [Table],'''+@Colonne+''' Colonne, '+@Colonne+' Valeur FROM ' + @Table +' WHERE '+@Colonne+' >= ''' + @Valeur + ''''
	print @sqlCommand
	EXEC (@sqlCommand)
 
	FETCH NEXT FROM ColCur INTO @Table, @Colonne
END
CLOSE ColCur;
DEALLOCATE ColCur;
select * from ##Resultat
drop table ##Resultat