比较2日期之间的当前日期时间

时间:2016-12-19 11:41:18

标签: sql-server tsql

这是我的代码:

declare @fdate varchar(50)
declare @tdate varchar(50)
declare @diff  int 
declare @CalFromdate datetime
declare @CalTodate datetime

set @diff = 360
set @fdate = '2016-12-19 09:30:00'

set @CalFromdate = DATEADD(mi,@diff,CONVERT(DATETIME, @fdate))
print @CalFromdate

set @CalTodate = DATEADD(mi,@diff,CONVERT(DATETIME, @tdate))
print @CalTodate 

给我Dec 19 2016 3:30PM作为fromdate

我不想要这种格式。

2016-12-19 09:30:00'或者' 2016-12-19 09:30:00:0000'我想将当前日期getdate()与2个日期进行比较。如果我使用上面的输出格式与我的gatedate格式,它会工作或两者应该是相同的格式?

1 个答案:

答案 0 :(得分:0)

您只能看到Dec 19 2016 3:30PM格式的日期,因为这是在打印datetime值时在SSMS中应用的完全任意格式。

如果您将代码更改为select而不是print,则会以[{1}}格式返回datetime值,但这又是一个任意格式显示一种数据。

在您的查询中,您的2016-12-19 15:30:00.000值实际上没有格式。这只是一个日期和时间。在您的比较中使用它,并担心在您呈现数据的任何应用程序中的格式。

顺便说一句,您也不需要在datetimeconvert参数上使用@fdate,因为您已将其指定为@tdate datetime语句中的值。