使用Date数据类型从GetDate()中删除时间信息是否可以?

时间:2011-04-27 07:32:20

标签: sql-server sql-server-2008 date getdate

通常我需要从GETDATE()中删除时间信息。我需要这个,因为我有一些DateTime字段,我知道我只存储日期信息,以便进行可靠的比较(MyDate < GETDATE())我需要从GETDATE()中删除时间信息。当然,我可以使用DATE中的MyDate数据类型,但这适用于新应用程序,而不适用于旧应用程序。

我过去常常使用CAST,但是在SQL Server 2008中还有DATE数据类型,它似乎更具可读性。

旧方法

DECLARE @Today DateTime
SET @Today =  (CAST(FLOOR(CAST( GETDATE() AS FLOAT)) AS DATETIME))
select @Today

新方法

DECLARE @TodayDate Date
Set @TodayDate = GETDATE()
select @TodayDate

我可以选择第二个,还是有任何警告? (我只使用2008年的腐败!)

1 个答案:

答案 0 :(得分:1)