>>>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.
Exactly!
If it's not broken, fix it until it is.
My Blog