반응형
데이터베이스상에서 반올림,올림,버림하는 방법에 대하여 알아보도록 하겠습니다. 반올림을 하는경우에는 ROUND함수를 사용하고 올림은 CELLING함수 버림은 FLOOR함수를 사용합니다.
1. CELLING함수
이 함수는 지정한 숫자 식보다 크거나 같은 최소 정수를 반환합니다. 소수점 올림처리를 하겠다는 애기이며 소수점단위에 대해서만 처리가 가능합니다.
2. FLOOR
지정된 숫자 식보다 작거나 같은 최대 정수를 반환합니다.소수점 버림처리를 하겠다는 애기이며 소수점단위에 대해서만 처리가 가능합니다.
3. ROUND함수
특정 길이나 전체 자릿수로 반올림한 숫자 값을 반환합니다. MSDN에 설명된 구문을 보면 다음과 같습니다.
설명보다 실제 데이터를 보면 이해가 빠르실겁니다. 소수점단위 올림,버림,반올림을 해보고 ROUND함수를 가지고 1의단위등 단위를 지정하여 버림하는 방법에 대하여 테스트 해보겠습니다.
/****** SSMS의 SelectTopNRows 명령 스크립트 ******/
SELECT TOP 1000 [SalesOrderID]
,[UnitPrice]
,CEILING(UnitPrice) 'CEILING(UnitPrice)' --소수점올림
,FLOOR(UnitPrice) 'FLOOR(UnitPrice)' --소수점버림
,ROUND(UnitPrice,0) 'ROUND(UnitPrice,0)' --소수점반올림
,ROUND(UnitPrice,1) 'ROUND(UnitPrice,1)' --두번째소수점 반올림
,ROUND(UnitPrice,-1) 'ROUND(UnitPrice,-1)' --1의자리반올림
,ROUND(UnitPrice,0,1) 'ROUND(UnitPrice,0,1)' --소수점자리버림
,ROUND(UnitPrice,-1,1) 'ROUND(UnitPrice,-1,1)' --1의자리버림
,ROUND(UnitPrice,-2,1) 'ROUND(UnitPrice,-2,1)' --10의자리버림
FROM [AdventureWorks2014].[Sales].[SalesOrderDetail
|
쿼리결과
'프로그래밍 > DB' 카테고리의 다른 글
[DB] MSSQL sa계정 대체할 시스템 관리자계정 생성방법 (0) | 2020.11.15 |
---|---|
[DB] MSSQL DB접속포트 두개이상 지정하기 (다중포트사용) (0) | 2020.11.15 |
[DB] MSSQL 무결성제약조건. 체크조건을 통한 무결성제한 (0) | 2020.11.02 |
[DB] MSSQL 테이블정보변경시 "변경 내용을 저장할수 없습니다." 에러발생 해결방법 (0) | 2020.11.02 |
[DB] MSSQL 최대메모리 설정하기 (0) | 2020.10.27 |