MS SQL에서는 Integer끼리 나눈 결과가 0보다 작으면 무조건 0을 반환하고, 0보다 크면 무조건 소수점 뒷자리를 잘라서 Integer로 반환합니다.즉, 다음과 같이 쿼리를 실행해도 무조건 0이 반환됩니다.select 3/4 또한 다음과 같이 실..
MS SQL에서는 Integer끼리 나눈 결과가 0보다 작으면 무조건 0을 반환하고, 0보다 크면 무조건 소수점 뒷자리를 잘라서 Integer로 반환합니다.
즉, 다음과 같이 쿼리를 실행해도 무조건 0이 반환됩니다.
select 3/4
또한 다음과 같이 실행하면 소수점 뒷자리를 잘라서 1이 반환됩니다.
select 4/3
따라서 원하시는 결과를 얻으시려면 다음과 같이 float 타입이 들어간 상태에서 나누도록 해주시면 됩니다.
select 1000.0 * -1.0 / 10
즉, Integer끼리만 나누지 않도록 해주시면 됩니다.
그럼 답변이 되셨길 바라며 또 궁금한 사항이 있으시면 언제든지 질문 남겨주시기 바랍니다.
감사합니다.
sqlserver
mssql
댓글