하나의 열에 "14:04:33"과 같은 hr : min : sec 값이있는 데이터베이스가 있습니다. varchar (50). 가장 가까운 5 분 : 14:05:00 및 14:00:00으로 올림/내리고 싶습니다. 둘 다 varchar (50)가되어야합니다. 내가 날짜로 변환하여 반올림을 시도하고 코드는 내가 가장 가까운 5 분까지 반올림하는 데 사용을했다 :hh : mm : ss 값이 varchar 형식 인 경우 가장 가까운 5 분으로 올림/내림
DECLARE @Time varchar (50)
SELECT @Time ='14:04:33'
SELECT CAST(CONVERT(datetime,(FLOOR(CAST(CONVERT(datetime,@Time,108)As float)*288)/288), 108)AS varchar (50))
최종 출력 오후 2
과 1 월 (1) 1900 그러나 가장 가까운 5 분으로 올림하는 데 사용 된 코드는 다음과 같습니다.
DECLARE @Time varchar (50)
SELECT @Time ='14:04:33'
SELECT CAST(CONVERT(datetime,(CEILING(CAST(CONVERT(datetime,@Time,108)As float)*288)/288), 108) AS varchar(50))
최종 출력은 Jan 1 1900 2:05 PM입니다. sql server 2012에서 변환에 적합한 함수를 찾고 있습니다.
그래서, [VARCHAR은 (이다 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/뿐만 아니라 12/bad-habits-to-kick-using-the-wrong-data-type.aspx) 그러나 그것이 필요한 것보다 훨씬 큽니다. 최고의 최종 결과는, 나중에 알다시피, 실제 [시간 열] (http://msdn.microsoft.com/en-us/library/bb677243.aspx) –