I need to find records that have a date stamp of yesterday. I have created two where clauses that use CAST and DATETIME. Both seem to return the same results. Is either one better?
CAST(FLOOR(CAST(cc.Date AS float)) AS datetime) = CAST(FLOOR(CAST((getdate()-1) AS float)) AS datetime)
-- OR --
cast (round(cast(cc.Date as float),0,1) as datetime) = cast (round(cast((getdate()-1) as float),0,1) as datetime)
BTW: Oracle handles this easily as trunc(mydate)
Thanks in advance
Oh Using SQLServer 2005
Doug
www.cooltimbers.com
It looks to me like they will both work:
declare @.morningDt datetime set @.morningDt = '3/13/7 0:05'
declare @.afternoonDt datetime set @.afternoonDt = '3/13/7 23:59'select cast(round(cast(@.morningDt as float),0,1) as datetime),
cast(round(cast(@.afternoonDt as float),0,1) as datetime),
round(cast(@.morningDt as float),0,1) ,
round(cast(@.afternoonDt as float),0,1)
-- -- - -
2007-03-13 00:00:00.000 2007-03-13 00:00:00.000 39152.0 39152.0
I am more used to seeing the FLOOR version.
|||Thanks Kent for the prompt reply... and for your help in general!
I sure do wish Microsoft implements something similar to Oracles "TRUNC" function that nicely truncates to a day.
没有评论:
发表评论