안규 공부방

MS-SQL > 숫자 관련 함수

등록일 : 2017-06-30 17:45 조회수 : 93,140

안녕하세요. 
오늘은 숫자에 관련된 함수를 정리해 보고자 합니다.
    
1.  AVG,COUNT,MAX,MIN,SUM()

SELECT AVG(total),COUNT(total),MAX(total),MIN(total),SUM(total) FROM 테이블명 

평균,갯수,최대값,최소값,합계 등등을 출력할 수 있다. 

2. ABS()

ABS함수는 절대값을 나타내줍니다.


SELECT ABS(-100),ABS(100)
결과 -> 100    100


3. POWER()

POWER함수는 제곱근을 표현해줍니다.
형식: POWER(숫자값, 승수값)   


SELECT POWER(2,2),POWER(2,3),POWER(2,8)
결과 -> 4    8   256


4. SQRT()

SQRT는 루트값을 표현해줍니다.
형식: SQRT(숫자값)


SELECT SQRT(2),SQRT(100),SQRT(4)
결과 -> 1.4142135623730951   10.0   2.0

5. RAND()

RAND는 0 에서 1사이의 난수를 발생시킵니다.
형식: RAND()


SELECT RAND()


6. ROUND()

ROUND는 반올림 함수입니다.
형식: ROUND(숫자, 자릿수)    


SELECT ROUND(123.4567,3)    
SELECT ROUND(123.4567,2)    
SELECT ROUND(123.4567,1)    
SELECT ROUND(123.4567,0)    
SELECT ROUND(123.4567,-1)    
SELECT ROUND(123.4567,-2)    
결과
--------------------------------
123.4570
123.4600
123.5000
123.0000
120.0000
100.0000

7.  CEILING, FLOOR()

CEILING은 소수점 첫번째 값을 기준으로 올림을 하고 FLOOR는 소수점 첫번째 값을 기준으로 내림을 합니다.
형식: CEILING(숫자) ... FLOOR도 동일    

CEILING과 FLOOR는 소수 첫번째값이 5 이상이든 이하든간에 무조건 올림, 내림을 수행합니다.

8. isnumeric(aa)

AA의 값이 숫자만으로 이루어져 있으면 1, 그렇지 않으면 0을 리턴합니다.

select * from theme1 where isnumeric(pwd)=1

위의 쿼리는 PWD 필드가 숫자로만 되어 있는 값들을 불러오는 예제입니다.    

9. ROUND()

- 반올림
SELECT ROUND(12.35393,2)   
    --> 결과값 : 12.35000  
SELECT ROUND(12.35593,2)   
    --> 결과값 : 12.36000  
SELECT ROUND(12.35393,-1)   
    --> 결과값 : 10.00000  
SELECT ROUND(15.35393,-1)   
    --> 결과값 : 20.00000  
SELECT ROUND(12.35393,0)   
    --> 결과값 : 12.00000  

-자르기
Select Round(98.65, 1, 1)  
    --> 결과값 : 98.60  
Select Round(98.65, 0, 1)  
    --> 결과값 : 98.00  
Select Round(98.65, -1, 1)  
    --> 결과값 : 90.00  

10. CEILING() - 올림

SELECT CEILING(12.35393)   
    --> 결과값 : 13  
SELECT CEILING(-12.35393)   
    --> 결과값 : -12  
SELECT CEILING(0.00)   
    --> 결과값 : 0  


11. FLOOR() - 내림

SELECT FLOOR(12.35393)   
    --> 결과값 : 12  
SELECT FLOOR(-12.35393)   
    --> 결과값 : -13  
SELECT FLOOR(0.00)   
    --> 결과값 : 0  
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.