MS SQL SERVER 2012 에서 제공하는 구성, 날짜, 시간, 수치연산 기본 스칼라 함수에 이어서...
[MS SQL SERVER 2012 학습] 스칼라 함수 (1) - 구성, 날짜, 시간, 수치연산 포스팅보기.
SQL SERVER 2008 버전과 중복된 내용이 있으며
그리고 아래에 서술한 함수 외에도 더 많은 함수들이 존재합니다.
[메타 데이터 함수]
* 데이터베이스 및 데이터베이스 개체의 정보 반환
- COL_LENGTH() : 테이블 컬럼의 길이를 리턴 ex) select COL_LENGTH('dbo.Nums', 'n') -- dbo.Nums 테이블의 'n'컬럼 조회
- DB_ID() / DB_NAME() : DB의 id, name 리턴 ex) select DB_ID(), DB_NAME()
- OBJECT_ID(), OBJECT_NAME() : ex) select OBJECT_ID(N'dbo.Nums') , OBJECT_NAME(901578250) -- 901578250 , Nums 반환
테이블 등의 object의 id값 / id값으로 해당 object의 이름을 얻어오는
[논리 함수]
*** MS SQL SERVER 2012부터 제공되는 함수들 ***
- ASCII() / CHAR() : 문자의 아스키코드값 리턴하거나 아스키코드값의 문자 리턴 ex) select ASCII('A'), CHAR(65) -- 65 , A
- UNICODE() / NCHAR() : 문자의 유니코드값 리턴하거나 유니코드값의 문자 리턴 (0~63365 범위)
ex) SELECT UNICODE('하'), NCHAR(54616) -- 54616 | 하
- CHARINDEX() : 문자열의 시작 위치 리턴 ex) SELECT CHARINDEX('ABC', 'ZZABCDDD') -- 3
- LEFT() / RIGHT() : 왼쪽/오른쪽에서 지정한 수만큼 리턴 ex) SELECT LEFT('ABCDEFG', 3), RIGHT('ABCDEFG', 2) -- ABC FG
- SUBSTRING() : 지정한 위치부터 지정한 개수의 문자 리턴 ex) SELECT SUBSTRING(N'가나다라마바사', 3, 2) -- 다라
- LEN() : 문자열의 길이 리턴
- LOWER() / UPPER() : 소문자 <--> 대문자 변환 ex) select LOWER('ABCdef'), UPPER('ABCdef') -- abcdef ABCDEF
- LTRIM() / RTRIM() : 왼쪽 / 오른쪽 공북문자 제거 ex) select LTRIM(' ABC '), RTRIM(' ABC ') -- ABC ABC
TRIM()을 왜 제공안하는지는 모르겠지만
- REPLACE() : 문자열의 내용을 지정한 것으로 교체 ex) SELECT REPLACE('ABCDEF', 'AB', 'ZZ') -- ZZCDEF
- REPLICATE() : 문자열을 지정한 수만큼 반복 ex) select REPLICATE('A', 3) -- AAA
- REVERSE() : 문자열의 순서를 거꾸로 만든다 ex) select REVERSE('ABC') -- CBA
- SPACE() : 공백을 지정한 수만큼 반복 ex) select SPACE(3)
- STR() : 숫자를 문자로 변환. CAST, CONVERT를 대신 사용을 권장한다고 ex) select STR(5)
- STUFF() : 문자를 지정한 위치의 개수만큼 삭제후 새로운 문자를 끼워넣는다 ex) select STUFF('ABCDEFG', 3, 2, 'ZZZ') -- ABZZZEFG
*** MS SQL SERVER 2012부터 제공되는 함수들 ***
- CONCAT() : 둘 이상의 문자열 연결 ex) select CONCAT('ABC', 'DEF', '1234') -- ABCDEF1234
- FORMAT() : 지정된 형식으로 출력 ex) SELECT FORMAT(GETDATE(), 'dd/MM/yyyy') -- 18-01-2016
년/월/일 날짜형식을 간혹 월/일/년 형식으로 바꾼다던지 할때 유용할듯
'프로그래밍&IT > SQL Server (MS-SQL)' 카테고리의 다른 글
SEQUENCE 개체 (identity같은 효과 및 오라클에서 지원하는 Sequence같은 기능 제공) (0) | 2016.04.03 |
---|---|
WITH 절 CTE (Common Table Expression) 임시테이블? (0) | 2016.04.03 |
[MS-SQL] 스칼라 함수 (1) - 구성, 날짜, 시간, 수치연산 (2012버전) (0) | 2016.01.18 |
[MS SQL] 문자열 함수 (2008 R2 버전으로) (0) | 2014.11.08 |
[MS-SQL] 산술 연산 함수 (0) | 2014.11.01 |