>>Metin,
>>
>>In SQL Server you can not create an index using a function. Use a date range when looking for a date, e.g.
>>
>>select * from myTable where DateField >=@Today and DateField < @Tomorrow
>>
>
>Thank you all,
>I'll use Naomi's way. I use in first variable today 00:00 and second variable today 24:59:59 . I'm afraid of about performance in other ways. I'm not sure if sql server will use index with other ways...
It will, if you use a field on the left side of the expression and whatever you want at the right side.
BTW there is no such time 24:59:59 :-)
I strongly recommend you to use Naomi's suggestion:
select * from myTable where DateField >=@Today and DateField < @Tomorrow
Because SQL Server keeps milliseconds also you may filter some records if you use this:
select *
from myTable
where DateField >=@Today and DateField <= @TodayAtMidNight
You may have this records:
01/01/2010 23:59:59.937 and that record will be filtered.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.