将datetime值转换为floor

时间:2015-08-19 12:09:27

标签: sql sql-server tsql

当浏览我们的应用程序的现有存储过程时,我看到下面的代码:

cast(floor(cast(@weekdate as float)) as datetime)                                                                             

这个代码背后的任何一个解释目的? @Weekdatedatetime字段。

1 个答案:

答案 0 :(得分:5)

它会截断日期时间的时间。

SELECT DateAndTime = GETDATE(),
       DateOnly = cast(floor(cast(GETDATE() as float)) as datetime)

Demo

这是我在SQL-Server 2005上使用的另一种方式:

dateadd(dd, datediff(dd,0, GETDATE()), 0)

SQL-Server 2008引入了date type,然后更容易:

cast(@weekdate as date)