Используйте метод DATEADD / DATEDIFF для установки временной части на полночь текущей даты - это самый быстрый способ, и приведение к FLOAT может быть ненадежным:
HAVING BOOKINGS.dbo.BOOKED = CONVERT(INT, DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0))+2
Затем вы можете установить свойдата легко, если вы используете переменную (@var в этом примере, внутри хранимой процедуры или функции):
DECLARE @var DATETIME
SELECT ...
HAVING BOOKINGS.dbo.BOOKED = CONVERT(INT, DATEADD(dd, DATEDIFF(dd, 0, @var), 0))+2
Это предполагает, что @var является типом данных DATETIME.В противном случае вам нужно будет использовать формат даты, который SQL Server будет неявно преобразовывать в DATETIME, или использовать CAST / CONVERT для явного преобразования значения.