Message
General information
Forum:
Microsoft SQL Server
Category:
Database design
Miscellaneous
Thread ID:
01450712
Message ID:
01451234
Views:
31
>>>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 --- Se here is only less that, not less than or equal
>
>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
Previous
Reply
Map
View