Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Is there a better way of selecting information for a dat
Message
From
25/04/2007 07:55:48
 
 
To
25/04/2007 07:37:29
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Environment versions
SQL Server:
SQL Server 2005
Miscellaneous
Thread ID:
01219598
Message ID:
01219695
Views:
7
>>Consider the following select statement:
>>
>>SELECT	[Id]
>>FROM	[MyTable]
>>WHERE	YEAR(DateField) = YEAR(@DateField) AND
>>	MONTH(DateField) = MONTH(@DateField) AND
>>	DAY(DateField) = DAY(@DateField)
>>
>>
>>I want to select the records that have the same date as the parameter, but I do not care about the time part of the field or parameter.
>>Is there another (better) way of doing this?
>>
>>Thanks,
>>Einar
>
>
>DECLARE @myDate datetime
>set @myDate = convert(varchar(8),@DateField,112)
>
>select [id] from [myTable] WHERE DateField between @myDate AND @myDate + 1
>
Cetin

Cetin,

this solution has a tiny bug : the next day midnight precise is selected also, and Murphy is never far away ...

As a solution use Dateadd(second,86399, @myDate) as enddate. 86399 = 86400 seconds in a day minus 1. But even here, the last millisecond of the day isn't selected :-(
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform