这是我的代码:
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格式,它会工作或两者应该是相同的格式?
答案 0 :(得分:0)
您只能看到Dec 19 2016 3:30PM
格式的日期,因为这是在打印datetime
值时在SSMS中应用的完全任意格式。
如果您将代码更改为select
而不是print
,则会以[{1}}格式返回datetime
值,但这又是一个任意格式显示一种数据。
在您的查询中,您的2016-12-19 15:30:00.000
值实际上没有格式。这只是一个日期和时间。在您的比较中使用它,并担心在您呈现数据的任何应用程序中的格式。
顺便说一句,您也不需要在datetime
或convert
参数上使用@fdate
,因为您已将其指定为@tdate
datetime
语句中的值。