Lorsque j'essaie d'exécuter cette instruction SQL, j'obtiens l'erreur. La conversion a échoué lors de la conversion de la chaîne de caractères en type de données smalldatetime.Impossible d'injecter smalldatetime dans l'instruction D-SQL
Est-ce que quelqu'un sait ce que je fais mal?
declare @modality varchar(50)
declare @datefrom smalldatetime
set @modality = 'xxxxxxx'
set @datefrom = '20090101'
declare @var1 nvarchar(4000)
select @var1 =
'select
sum('+ @modality +') as ' + dbo.fnc_titlecase(@modality) +'
from dbo.vw_RawData
where vw.date >= ' + @datefrom + ''
exec sp_executesql @var1