Я собираюсь предположить, что вы имеете в виду, что хотите получить все записи, которые соответствуют сегодняшним соотношениям даты части времени? Если это так, вы можете сделать что-то довольно просто, но неуклюже, как это.
Получите день года для столбца и год для столбца и сравните его с днем года для текущей даты и годом для текущей даты (или с любой датой, с которой вы сравниваете).
SELECT * FROM MyTable WHERE DATEPART(dy,MyColumn) = DATEPART(dy,GETDATE()) AND DATEPART(yy,MyColumn) = DATEPART(yy,GETDATE())
Итак, ваша процедура будет выглядеть так:
ALTER PROCEDURE [dbo].[spDisplayAllOpenPrepaidSales]
@preStatus int,
@preCompanyId int,
@preCounterId int,
@preBillerId int,
@today smalldatetime
AS
BEGIN
print @today
select * from PrepaidSaleHeader
where preOpenStatus = @preStatus And preCompanyId = @preCompanyId And
preCounterId = @preCounterId And preEntryUserId = @preBillerId And DATEPART(dy,preDate) = DATEPART(dy,@today)) AND DATEPART(yy,preDate) = DATEPART(yy,@today)
order by preDate
END