在mssql 2005中保存DateTime而不需要小时,分钟和秒

use*_*964 3 sql sql-server datetime

我想在sql2005中保存我的日期作为日期(没有小时分钟和秒).我想这样做是因为如果填写小时,分钟和秒,则between函数并不总是正确的.

但是datetime和smalldatetime都不允许这样做,在2008年你有Date列可以做到这一点.

我也发现这个问题可以帮助我,但我不喜欢执行查询的转换:如何删除日期时间值(SQL Server)的时间部分?

Tom*_*lak 7

非铸造方式:

SET @d = DATEADD(dd, 0, DATEDIFF(dd, 0, @dt))
Run Code Online (Sandbox Code Playgroud)

这会将0和日期之间的天数加到0,从而使时间部分为零.

如果这比必须测试的显式CAST方法快.使用0表示将在此表达式中执行一些隐式转换.