2016-11-03 3 views
0
SQL version = 2005. 

다음 쿼리는 결과 2.000000을 생성합니다. 나는 단지 그것을 보여주고 싶다.SQL 2005 쿼리 결과에서 소수 자릿수를 제거하는 방법은 무엇입니까?

어떻게 결과에서 소수점 이하를 제거합니까? round()

SELECT ROUND(SUM([Total Order (mins)])/60, 0) as [Total Cutting Time (Hours) Saw 50] FROM [IT_REPORTS].[dbo].[cutting_data] WHERE [AssignedCuttingDate] = DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0) and [Saw No] = '50' 
+0

select Convert (int, 2.000000) – Veljko89

+0

답장을 보내 주셔서 감사합니다. 위 쿼리를 사용하여 정확히 어떻게 입력 할 수 있습니까? – Andy

+0

문제는 INT로 변환하면 전체 수 ... Convert (int, SUM ([Total Order (mins)])/60)를 [Total Cutting Time (Hours) Saw 50]로 변환합니다. 하지만 다음에 실행하고 소수점 이하의 숫자를 표시하면 표시되지 않습니다. – Veljko89

답변

0

문제는 반드시 유형 변경,하지만입니다. 따라서, 눈치 채 셨던 것처럼 후미에있는 0을 얻을 수 있습니다.

내 조언은 소수 (또는 정수)로 변환하는 것입니다 : 당신은 또한 문자열로 변환 str()을 사용할 수 있습니다

SELECT CAST(SUM([Total Order (mins)])/60 as DECIMAL(10, 0)) as [Total Cutting Time (Hours) Saw 50] 
FROM [IT_REPORTS].[dbo].[cutting_data] 
WHERE [AssignedCuttingDate] = DATEADD(day, DATEDIFF(day, 0, getdate()), 0) AND 
     [Saw No] = '50'; 

.