[MS-SQL] 각종 내장 함수 사용 예제

MS-SQL에는 수많은 내장 함수가 있다.

그 중 에서도 사용빈도가 많은 함수들의 사용법을

간략하게 정리해 보았다.

 

■ 집계함수

Select SUM([컬럼명]) FROM [테이블명] WHERE [컬럼명] % 2 = 0  -- SUM() : 합계
Select COUNT([컬럼명]) FROM [테이블명] WHERE [컬럼명] % 2 = 0  -- COUNT() : 갯수
Select AVG([컬럼명]) FROM [테이블명] WHERE [컬럼명] % 2 = 0  -- AVG() : 평균
Select MAX([컬럼명]) FROM [테이블명]       -- MAX() : 최대값
Select MIN([컬럼명]) FROM [테이블명]       -- MIN() : 최소값

■ 수학관련 함수

Select ABS(-10)      -- 10 : 절대값
Select PI()       -- 3.14.. PI값 구하기
Select POWER(2,10)     -- 1024 : POWER ( float_expression , y ) : 제곱근
Select ROUND(3.1415, 3)    -- 3.1420 : 반올림( ROUND ( numeric_expression , length [ ,function ] )
Select CEILING(-123.56)    -- -123 : 가장 가까운 큰 정수값
Select CEILING(123.56)    -- 124  : 가장 가까운 큰 정수값
Select RAND()      -- 실행할 때 마다 0-1까지의 RANDOM float 값을 반환

■ 문자열 관련 함수

Declare @s VarChar(20)
Set @s = ' Abc Def Fed CBa '
select @s

Select LEN(@s)      -- 16 : 뒤에 오는 공백제외
Select LTRIM(@s)     -- 선행공백제거
Select RTRIM(@s)     -- 후행공백제거
Select UPPER(@s)     -- 모든 문자를 대문자로 표시
Select LOWER(@s)     -- 모든 문자를 소문자로 표시
Select LEFT(@s, 6)     --   Abc D : 왼쪽에서 6자 출력
Select RIGHT(@s, 6)     --  d CBa : 왼쪽에서 6자 출력
Select REVERSE(@s)     --  aBC deF feD cbA : 모든 문자를 거꾸로 출력
Select REPLACE(@s, 'Abc', '쵸콜릿') -- 특정 문자열을 찾아서 있으면 반환(치환)
Select REPLICATE('안녕', 10)  -- 특정 문자열 반복
Select '[' + SPACE(10) + ']'  -- [          ] : 공백(space)를 여러개 출력
Select STR(12345) + '6789'   -- 정수형을 문자열로 변환
Select SUBSTRING(@s, 6, 3)   -- Def : 문자열 검색 : 어디서부터 몇자 검색
Select CHARINDEX('Def', @s)   -- 6 : 특정문자열의 위치값 검색. 없으면 0이 나온다

■ 날짜 관련 함수

Select GETDATE()     -- 현재
Select YEAR(GETDATE())    -- 년도
Select Month(GETDATE())    -- 월
Select Day(GETDATE())    -- 일
Select DATEDIFF(dd, GetDate(), '2012-12-25')  -- DATEDIFF ( datepart , startdate , enddate )
Select DATEDIFF(dd, '1984-01-24', GetDate() )  -- 본인이 지금까지 몇일을 살아왔는지 계산?

■ 형식 변환 관련 함수

-- CONVERT : 원하는 포맷으로 변경가능
-- CAST  : 스타일을 지정불가
Select 1234 + '안녕'      -- Error : varchar 값 '안녕'을(를) 데이터 형식 int(으)로 변환하지 못했습니다.
Select '1234' + '안녕'      -- [1] 정수형 -> 문자열
Select Str(1234) + '안녕'     -- [1] 정수형 -> 문자열
Select CAST(1234 As VarChar) + '안녕'  -- 1234안녕
Select CAST(1234 As VarChar(10)) + '안녕' -- 1234안녕
Select CONVERT(VarChar, 1234) + '안녕'  -- 1234안녕
Select CONVERT(VarChar(10), 1234) + '안녕' -- 1234안녕

■ 구성(시스템) 함수

Select @@SERVERNAME  -- SQL Server의 이름
Select @@VERSION  -- SQL Server의 버전
Select @@LANGUAGE  -- 현재언어
Select @@SERVICENAME -- 서비스명(인스턴스이름)

 

Post Author: 김 키티

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다