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 -- 서비스명(인스턴스이름)