2016-10-03 120 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)