2016-10-03 143 views
1

我有一个datetime列,格式如下。如何四舍五入

如何舍入到秒,它看起来像后,第二miliseconds(后点):

 
Event End DateTime 
2016-09-09 10:49:21.9613415 
2016-09-09 10:49:21.9783415 

我需要:

 
Event Start DateTime 
2016-09-09 10:49:22 
2016-09-09 10:49:22 
+0

使用'DATETIME2(0)',而不是'datetime',或转换为同一类型 –

回答

3

尝试

SELECT CAST(datecolumn AS datetime2(0))

enter image description here

0

您应该使用datetime2(0)而不是datetime。这将允许您存储没有第二部分的值。

datetime2的范围高于datetime,并允许您指定所需的小数秒精度。虽然datetime只允许追溯至1753年1月1日,datetime2从0001-01-01日期工程9999-12-31

如果你必须使用datetime无论如何,你可以转换为datetime2(0),如:

SELECT cast(GETDATE() as datetime2(0)) 

这将返回不带小数的日期时间值作为DATETIME2值。 所有的T-SQL函数都可以与datetime2一起使用,值直接转换为System.DateTime。如果您虽则以此为datetime,你可以将它转换回:

select cast(cast(getdate() as datetime2(0)) as datetime)