T-SQL SQL Server:将今天与IF条件下的未来日期进行比较

时间:2017-05-11 14:24:35

标签: c# sql-server-2008 datetime

我需要在T-SQL SQL Server中使用IF条件将今天的日期与将来的日期进行比较。它包含在从C#调用的存储过程中。如果当前日期不小于或等于未来日期,我也想要不返回任何行。

所以我做了:

DECLARE @FutureDate VARCHAR  = '2017-05-20 00:00:00'
IF CAST(GETDATE() AS DATE) <= CAST(@FutureDate AS DATE)
BEGIN
   ....
END
ELSE
BEGIN
   SELECT TOP 0 NULL
END

我从C#调用此存储过程,但它生成错误,指出无法转换为datetime。时间对我来说并不重要,只有日期很重要。

更新

这样做是有效的,无需将FutureDate转换为DATE。

DECLARE @FutureDate DATE  = '2017-05-20'
IF CAST(GETDATE() AS DATE) <= @FutureDate
BEGIN
  ....

1 个答案:

答案 0 :(得分:0)

这样做是有效的,无需将FutureDate转换为DATE。

DECLARE @FutureDate DATE  = '2017-05-20'

IF CAST(GETDATE() AS DATE) <= @FutureDate
BEGIN
  ....
END
ELSE
  ....
END