안녕하세요,oracle, mysql 에서는 select 1000.0 * -1 / 10 하면결과가 -100 으로 나오는데이상하게 SQL서버에서는 0 이 됩니다.MS 문서상에 보면 곱하기, 나누기가 음수(-) 연산자 보다 우선순위가 높고, 동일 우선순위 연산자의 경우는 좌에서 우로 계산 된다고 하는데 마치 SQL 서버는 select 1000.0 * (-1 / 10) 와 같이 연산이 된 거 같은데그 이유를 모르겠습니다.
4.0K
8
0
kimho·2018-06-12
MS SQL에서는 Integer끼리 나눈 결과가 0보다 작으면 무조건 0을 반환하고, 0보다 크면 무조건 소수점 뒷자리를 잘라서 Integer로 반환합니다.즉, 다음과 같이 쿼리를 실행해도 무조건 0이 반환됩니다.select 3/4 또한 다음과 같이 실행하면 소수점 뒷자리를 잘라서 1이 반환됩니다.select 4/3따라서 원하시는 결과를 얻으시려면 다음과 ...