I have something strange:
Declare @SQLQuery As nvarchar(Max)
Declare @maxdat date
Declare @dateColumn nvarchar(10)
Set @maxdat = GETDATE()
Set @dateColumn = 'ERDAT'
Set @SQLQuery = 'SELECT * FROM myTable WHERE @dateColumn <= @maxdat'
Execute sp_executesql @SQLQuery, N'@maxdat date, @dateColumn nvarchar(10)', @maxdat, @dateColumn
This will fail with Conversion failed when converting date and/or time from character string.
But the following will work just fine:
Set @SQLQuery = 'SELECT * FROM myTable WHERE ERDAT <= @maxdat'