2009-06-30 3 views
0

cost, participant, single_cost의 세 열이 있으며 참가자가 나누는 값을 single_cost로 분류하는 SQL을 작성하려고합니다. 나는 소수점 이하가 나타날 때 그것을 내버려두고 일을 시작할 수있다. 그러나 나는 말할 수있다. 각 열은 int 유형입니다. 미리 감사드립니다. 비용의시SQL의 숫자 서식 함수

전 은 = 15000, 참가자 = 7, 나는 single_cost = 2,142.8이 될,하지만 정확하게는 부동 소수점 값이 유지되고 싶어 이해한다면 2143.

+0

이 (가정 T-SQL) 같은 것을 할 수 있습니다. – akf

+0

어떤 데이터베이스를 사용하고 있습니까? –

답변

1

에 대한 데이터베이스와 자신을 등록 귀하의 데이터베이스에. 그런 일이 일어나려면 다음과 같이 flood에 나누기 결과를 캐스팅해야합니다. CAST(X/Y AS FLOAT), 여기서 X와 Y 및 필드 이름.

single_cost의 데이터 유형도 FLOAT 여야합니다.

데이터베이스에 따라이 작업을 수행하는 또 다른 방법은 분자 또는 분모에 "1.0"을 곱하는 것입니다. 예를 들어

는 :

UPDATE Table 
SET single_cost = (1.0 * cost)/participant 

이전 솔루션은 다음과 같습니다 도움이

UPDATE Table 
SET single_cost = CAST(cost AS FLOAT)/participant 

희망.

0

당신은 당신은 질문의 문구를 수정 고려할 수 있습니다

select single_cost = round(cast(cost as float)/cast(participant as float),0)