2011-03-17 4 views
0

SSRSSSRS 2008 - 가장 가까운 두 번째

2008 시간 필드를 반올림하는 방법 내가 00 같은 시간 형식이되지 않도록 가까운 초에 시간 필드 라운딩의 가장 쉬운 방법입니다 : 00 : 39.190000 하지만 대신 00:00:39 있으십니까?

짧은 형식의 "t"형식을 시도했지만 작동하지 않는 것 같습니다.

+0

값을 문자열로 처리하고 반올림 문제가있는 경우 mid 함수를 적용 할 수도 있습니다. –

답변

1

속성을 사용하는 경우 원하는 형식 문자열을 입력 할 수 있습니다.

값이 전체 셀을 차지하는 경우 형식을 텍스트 상자로 설정해야합니다. 그렇지 않으면 자리 표시 자, 마지막으로 최악의 옵션은 수식을 사용하는 것입니다. (= 형식 (Fields.DetailedTime.Value, "HH : MM : SS"))

설정 HH의 형식 : MM : SS http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=VS.80%29.aspx

표준 .NET 형식 문자열 여기서 일 : http://msdn.microsoft.com/en-us/library/fbxft59x%28v=VS.80%29.aspx

2

문자열로 서식을 지정하려면 CONVERT를 사용하십시오. 실제로 날짜 시간의 소수 부분을 잘라내려면 DATEADD를 사용하여 빼기.

declare @now datetime; 
declare @floored datetime; 
set @now=GETDATE(); 
-- get rid of the factional part by subtracting it. 
-- datetime has worse than 1 msec of precision so this is exact. 
-- datetime2 has 100 nsec precision; will need to use ns then. 
set @floored = DATEADD(MS,-DATEPART(ms,@now),@now); 
-- output as value and as string. 
-- see documentation on date and time styles. I like ODBC (120/121). 
select 
@now as GetDateTime, 
@floored as GetDateFloored, 
CONVERT(varchar,@now,120) as GetDateString, 
CONVERT(varchar,@floored,120) as GetDateFlooredAsString