문제

이것에서 그래서 질문 OP는 그의 결과를 위해 10 진수 자리에서 0을 떨어 뜨리기를 원했습니다. 이제 내가 이것을 돌아 다니기 위해 내가 준 예제는 10 진수로 캐스팅 한 다음 플로트로 캐스팅하는 것이 었습니다.

예를 들어

SELECT CAST(0.55 AS FLOAT)

위의 예제를 사용하여 SQL Server 2005/2008에서 실행하면 0.55의 올바른 결과를 가져 오는 것으로 보입니다. 그러나 다른 게시물의 Peter가 지적했듯이 SQL Server 2000에서 실행하면 0.55000000000000004가 생성됩니다.

그래서 내 질문은 다음과 같습니다.

  • SQL의 데이터 변환과 관련하여 Float가 모든 비용으로 피해야합니까?

  • cast(0.55 as float) 수율 0.55000000000000004 SQL2K에서 아직 0.55 나중에디션에서?

  • Microsoft는 Float를 사용하여 나중에 SQL Server 버전에서 더 안정적인 것을 만들었습니까?

시간 내 줘서 고마워.

도움이 되었습니까?

해결책

내 사람의 황금률은 다음과 같습니다. 부유물을 피하십시오. 최근 몇 년 동안 플로트를 사용하는 것을 기억할 수 없습니다.

통화 값을 저장해야했던 모든 비즈니스 시나리오, 또는 고정 정밀도로 숫자를 사용 했으므로 사용하는 것이 좋습니다. DECIMAL 또는 MONEY.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top