단일 행 함수
 - 데이터 조작을 위해 사용한다.
 - 인자(Argument)를 이용해 작업 수행 후 결과를 반환한다.
 - 행 당 하나의 결과를 반환한다.
 - SELECT, WHERE, ORDER BY절에 사용할 수 있다.
 - 중첩 사용이 가능하다.

 


 단일 행 함수의 종류
 - 문자 함수 : 문자를 입력하면 문자 또는 숫자 값을 반환한다.
 - 숫자 함수 : 숫자를 입력하면 숫자 값을 반환한다.
 - 날짜 함수 : 날짜 유형의 값을 연산한다.
 - 변환 함수 : 데이터 유형을 변환한다.
 - 기타 함수 : 타입에 상관없이 적용이 가능하다.

 


 문자 함수
 - LOWER : 대상 문자열을 모두 소문자로 변경한다.
 - UPPER : 대상 문자열을 모두 대문자로 변경한다.
 - INITCAP : 문자열 단어의 첫 문자는 대문자로 나머지는 소문자로 변경한다.

 - ex) LOWER, UPPER, INITCAP

 

1
SELECT LOWER(ename), UPPER(ename), INITCAP(ename) FROM emp;
 

 

 - CONCAT(s1, s2) : 두 문자열을 연결한다.

 - ex) 10번 부서의 사원번호, 이름, 업무, 이름과 업무를 결합해서 조회

 

1
SELECT empno, ename, job, CONCAT(ename, job) FROM emp WHERE deptno=10;
 

 

 - SUBSTR(s, m, n) : 문자열 중 지정한 위치에서 지정한 길이만큼의 문자열을 추출한다. 
 - LENGTH(s) : 문자의 길이를 숫자 값으로 표시한다. 
 - CHR(n) : ASCII 코드 값이 n인 문자를 반환한다. 
 - ASCII(s) : s문자의 ASCII 코드 값을 반환한다.

 - LPAD(s1, n, s2) : 문자열을 제외한 왼쪽 공간에 지정한 문자로 채운다.
 - RPAD(s1, n, s2) : 문자열을 제외한 오른쪽 공간에 지정한 문자로 채운다.

 - ex) 사원 이름이 7자가 되도록 왼쪽과 오른쪽에 *를 붙여  조회

 

1
SELECT ename, LPAD(ename, 7'*'), RPAD(ename, 7'*'FROM emp;
 

 

 - LTRIM(s, c) : 대상 문자열의 오른쪽부터 지정한 문자들을 제거한다.
 - RTRIM(s, c) : 대상 문자열의 왼쪽부터 지정한 문자들을 제거한다.

 - ex) 사원 이름의 왼쪽과 오른쪽에 A 문자열을 제거하고 조회

 

1
SELECT ename, LTRIM(ename, 'A'), RTRIM(ename, 'A'FROM emp;
 

 

 - TRIM : 앞, 뒤에 나오는 특정 문자를 제거한다.

 - ex) 사원 이름의 양쪽에 A 문자열을 제거하고 조회

 

1
SELECT ename, TRIM('A' from ename) FROM emp;
 

 

 - TRANSLATE(s, from, to) : 첫 문자는 탐색집합의 첫 문자로 대체한다.

 - ex) 사원 이름에 CO 문자열을 **로 변경해서 조회(C와 O 각각 *로 변경)

 

1
SELECT ename, TRANSLATE(ename, 'CO''**'FROM emp;
 

 

 - REPLACE(s, p, r) : 특정문자열을 다른 문자열로 대체한다.

 - ex) 사원 이름에 CO 문자열을 **로 변경해서 조회

 

1
SELECT ename, REPLACE(ename, 'CO''**'FROM emp;
 

 

 

 숫자 함수
 - ROUND : 지정된 자리로 반올림을 수행한다.
 - TRUNC : 지정된 자리에서 버림을 수행한다.
 - MOD(M, N) : M을 N으로 나눈 나머지
 - ABS : 숫자 값을 절대값으로 바꾼다.
 - FLOOR : 해당 수보다 작거나 같은 정수 중 가장 큰 정수 값을 리턴한다.
 - CEIL : 해당 수보다 크거나 같은 정수 중 가장 작은 정수 값을 리턴한다.
 - SIGN : 숫자가 양수이면 1, 음수이면 -1, 0이면 0을 반환한다.
 - POWER(M, N) : M의 N승

 

 

 

 오늘의 한 줄 : 내가 모르는 함수들이 너무 많다.

 

 

 

 

 출처 : SK 동반성장 아카데미, 비전공자를 위한 SQL 입문, 「문자 · 숫자 함수」 

+ Recent posts