Compare dates regardless of time(MSSQL)

sql, stored-procedures

Solution

You can `CAST` the column name to change the datatype from `DATETIME` to `DATE` (prior to version 2008+). Try,

ALTER PROCEDURE [dbo].[SP_GET_QUEUESINFO_BY_DATE]
AS
BEGIN
declare @date2 datetime
set @date2= '2012-09-21'
select COUNT(QueueID) ,
       sum(case when QueueNumIn != 0 THEN 1 else 0 end) as 'InQueue',
       sum(case when QueueNumOut != 0 THEN 1 else 0 end) as  'OutQueue'
from Queue 
where CAST(QueueDate as DATE) >= @date2 -- QueueDate = @date2
END

Problem

I Used this Store procedure to return data from special date . my QueueDate type is datetime , but when i want use = in Where Clause it return 0 , i want all field that are in one day independence in time of field. ``` ALTER PROCEDURE [dbo].[SP_GET_QUEUESINFO_BY_DATE] AS BEGIN declare @date2 datetime set @date2= '2012-09-21' select COUNT(QueueID) , sum(case when QueueNumIn != 0 THEN 1 else 0 end) as 'InQueue', sum(case when QueueNumOut != 0 THEN 1 else 0 end) as 'OutQueue' from Queue where QueueDate >= @date2 -- QueueDate = @date2 END ```

Original source