I am trying to get the system date and store it inside a variable and use that inside single quotes as a value inside a query
x
DECLARE @Tdate VARCHAR(20);
SET @Tdate = CONVERT(DATE, GETDATE());
SELECT COUNT(*)
FROM Seymr
WHERE BatchCreated BETWEEN '@Tdate 00:00:00.00' AND '@Tdate 05:00:00.00'
I get the following error – what is the correct syntax to use @Tdate
inside single quotes?
Advertisement
Answer
You don’t need such syntax, you need to use the correct types – date, datetime2 etc, not strings.
Assuming BatchCreated
uses a date-related type, you can use :
declare @from datetime2(0)=cast(getdate() as date)
declare @to datetime2(0)=dateadd(hour,5,@from)
select count(*) from Seymr
where BatchCreated between @from and @to