백분율을 구하는 공식은 다들 알고 있다시피
실존값 / 전체값 * 100 이다.
SELECT 30 / -100.0 * 100
SELECT 30 / 100.0 * 100
위처럼 두개의 SELECT문을 보면 사칙연산에 의해서 결과값은 +/- 부호만 다른 같은 결과값이 나올것이라고 예상하기 쉽다.
하지만, 결과 값을 보면
---------------------------------------
-0.003000000
(1개 행이 영향을 받음)
---------------------------------------
30.000000
(1개 행이 영향을 받음)
두 개의 결과값이 다르다는 것을 알 수 있다.
이유는, 나눗셈(/) 연산에서 분모의 값이 0보다 작은 경우 곱셈(*) 연산을 먼저 수행한다.
괄호 ()로 명시하여 먼저 연산되게 해주는것이 좋다.
SELECT (30 / -100.0) * 100
[출처] 백분율 공식 사용할때 주의할 점 (MS-SQL 2008 R2기준)|작성자 만쥬
MSSQL 에서 C# 함수 사용 (0) | 2017.11.03 |
---|---|
MS SQL Server 대/소문자 구분하여 검색 (0) | 2017.10.27 |
Update, Delete Join사용 (0) | 2017.09.20 |
메모리 테이블 활용하기 (0) | 2017.09.20 |
테이블 필드 추가 (0) | 2017.09.20 |