Bonjour,

J'ai un soucis de conversion de date lorsque j'exécute une requête depuis un sp_executesql.

Voici le code sans sp_executesql qui fonctionne parfaitement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
DECLARE @datedebut_percoef datetime;
SET @datedebut_percoef = '01/01/2019';
DECLARE @datefin_percoef datetime;
SET @datefin_percoef = '31/12/2019';
 
/** RESULTAT OK **/
SELECT * FROM dbo.fnGetSortieFournSpe(@datedebut_percoef, @datefin_percoef);
Voici un exemple des différents codes que j'ai pu essayer mais sans succès, je me retrouve toujours avec des erreurs de ce type :
Échec de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères.
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
 
DECLARE @datedebut_percoef datetime;
SET @datedebut_percoef = '01/01/2019';
DECLARE @datefin_percoef datetime;
SET @datefin_percoef = '31/12/2019';
 
DECLARE @sqltest nvarchar (1000);
SET @sqltest = N'SELECT * FROM dbo.fnGetSortieFournSpe(' + @datedebut_percoef + ', ' + @datefin_percoef + ')';
EXEC sp_executesql @sqltest;
SET @sqltest = N'SELECT * FROM dbo.fnGetSortieFournSpe(' + CAST(@datedebut_percoef As nvarchar(1000)) + ', ' + CAST(@datefin_percoef As nvarchar(1000)) + ')';
EXEC sp_executesql @sqltest;
DECLARE @sqltest nvarchar (1000);
SET @sqltest = N'SELECT * FROM dbo.fnGetSortieFournSpe(''' + @datedebut_percoef + ''', ''' + @datefin_percoef + ''')';
EXEC sp_executesql @sqltest;
SET @sqltest = N'SELECT * FROM dbo.fnGetSortieFournSpe(' + CONVERT(datetime, @datedebut_percoef , 103) + ', ' + CONVERT(datetime, @datefin_percoef , 103) + ')';
EXEC sp_executesql @sqltest;

Pourriez-vous m'aider svp ?

En vous remerciant par avance