我需要在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
....
答案 0 :(得分:0)
这样做是有效的,无需将FutureDate转换为DATE。
DECLARE @FutureDate DATE = '2017-05-20'
IF CAST(GETDATE() AS DATE) <= @FutureDate
BEGIN
....
END
ELSE
....
END