2015-12-16 3 views
0

У меня есть столбец времени, какокругление до целых секунд в SQL Server 2008

Time 
07:34:23.554 
08:44:42.778 
08:11:38.332 

Я хочу, чтобы закруглить поле секунд, так что если значение после десятичной меньше, чем 0,5 он получает округляется вниз, и если значение после десятичного значения больше 0,5, округляется.

Мой требуемый выход

Time 
07:34:24 
08:44:43 
08:11:38 

Любая помощь приветствуется, спасибо.

ответ

2

Вы можете просто бросить его как TIME(0):

Declare @Time Table 
( 
    Time Time 
) 

Insert @Time 
     (Time) 
Select '07:34:23.554' Union All 
Select '08:44:42.778' Union All 
Select '08:11:38.332' 

Select Cast(Time as Time(0)) As RoundedTime, 
     Time 
From @Time 

Выход:

RoundedTime Time 
---------------------------- 
07:34:24 07:34:23.5540000 
08:44:43 08:44:42.7780000 
08:11:38 08:11:38.3320000 

Более постоянное решение было бы изменить тип данных столбца в самой таблице TIME(0):

Declare @Time Table 
( 
    Time Time(0) 
) 

Insert @Time 
     (Time) 
Select '07:34:23.554' Union All 
Select '08:44:42.778' Union All 
Select '08:11:38.332' 

Select * 
From @Time 

Выход:

Time 
-------- 
07:34:24 
08:44:43 
08:11:38 
Смежные вопросы