Sql server 2008 SQL Server从日期提取时间并进行比较
我的问题是如何从Sql server 2008 SQL Server从日期提取时间并进行比较,sql-server-2008,time,compare,Sql Server 2008,Time,Compare,我的问题是如何从datetime字段中提取时间,并将其与从GetDate()函数中提取的另一个时间进行比较 我正在使用SQLServer2008 提前谢谢 选择CONVERT(TIME,GETDATE(),101)将从GETDATE()获取时间。您需要将其存储在变量中,以便在比较中使用。不是很优雅,但很管用 DECLARE @Time1 AS TIME(3) DECLARE @Time2 AS TIME(3) SELECT @Time1 = CONVERT(TIME, GETDATE(), 10
datetime
字段中提取时间,并将其与从GetDate()
函数中提取的另一个时间进行比较
我正在使用SQLServer2008
提前谢谢 选择CONVERT(TIME,GETDATE(),101)
将从GETDATE()
获取时间。您需要将其存储在变量中,以便在比较中使用。不是很优雅,但很管用
DECLARE @Time1 AS TIME(3)
DECLARE @Time2 AS TIME(3)
SELECT @Time1 = CONVERT(TIME, GETDATE(), 101)
SELECT @Time1;
SELECT @Time2 = CONVERT(TIME, DATEADD(MINUTE, 1, GETDATE()), 101);
SELECT @Time2;
SELECT DATEDIFF(SECOND, @Time1, @Time2)
我得到了这个错误:Msg 243,级别16,状态1,第1行类型时间不是定义的系统类型。@Jordan Borisov-那么您可能对服务器版本有错误(TIME
在2008版本之前不存在),或者您正在使用的数据库设置为较低的兼容级别。否。版本是2008,数据库在兼容性级别上很好。@JordanBorisov:对我来说很好-在SQL Server 2008 R2上(但是TIME
肯定是在2008版本中引入的)