Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[SQL] 문자 함수 (단일 행 함수 1) 본문
함수의 개념
- 인수를 입력하면 함수가 적용된 결과를 반환
- 함수의 용도
- 데이터에 대해 계산을 수행할 경우
- 각각의 데이터 항목을 변경할 경우
- 출력할 날짜형식을 변경할 경우
- 출력할 숫자에 형식을 지정할 경우
- Column의 데이터 유형을 변경할 경우
- 행 그룹의 결과를 출력할 경우
단일행 함수
- 데이터를 조작해 보거나 데이터 유형 수정 가능
- 열 이름 또는 표현식이 인수
- 단일행 함수의 종류
- 문자 함수
- 숫자 함수
- 날짜 함수
- 변환 함수
- 일반 함수
문자 함수
- 문자를 입력 값으로 받으며 문자 또는 숫자 값을 반환
- 대소문자 조작 함수
- LOWER(char) : 대소문자 또는 대문자 문자열을 소문자로 변환
- UPPER(char) : 대소문자 또는 소문자 문자열을 대문자로 변환
- INITCAP(char) : 각 단어의 첫 문자는 대문자로, 나머지 문자는 소문자로 변환
- 문자 조작 함수
- CONCAT(char1, char2) : 지정된 두 문자를 결합
- SUBSTR(char, m, [n]) : 지정된 길이의 문자열을 반환
- INSTR(char1, char2, [m], [n]) : 지정된 문자가 존재하는 위치를 숫자로 표시
- LENGTH(char) : 문자의 개수를 반환
- LPAD(char1, n [,char2]) : 전체 길이 n에 대하여 char1을 오른쪽 정렬하고 빈곳을 char2로 채움
- RPAD(char1, n [,char2]) : 전체 길이 n에 대하여 char1을 왼쪽 정렬하고 빈곳을 char2로 채움
- REPLACE(char1, str1, str2) : 문자열의 특정 문자를 다른 문자로 변환
- TRIM(char2 FROM char1) : char1의 접두어 또는 접미어에 해당하는 char2를 잘라냄
- LTRIM(char1, char2) : char1의 왼쪽에서 char2를 제거
- RTRIM(char1, char2) : char1의 오른쪽에서 char2를 제거
- 대소문자 조작
SELECT UPPER(email), LOWER(email), INITCAP(email)
FROM y_emp
WHERE emp_id < 1005;
- WHERE 절에 단일 행 함수 사용 가능
SELECT emp_id, emp_name, salary, dept_id
FROM y_emp
WHERE LOWER(emp_name) = 'mark kim';
- 사번이 1005번 미만인 사원의 이름과 직급을 결합하여 출력
SELECT CONCAT(emp_name, position)
FROM y_emp
WHERE emp_id < 1005;
- SUBSTR 함수의 검색 위치를 지정하는 방식에 따른 결과의 차이
SELECT SUBSTR('Computer Information', 10, 4) result1,
SUBSTR('Computer Information', -4, 4) result2
FROM dual;
- 100번 부서 사원의 email에 소문자 'a'가 포함되는지 알아보기, 'a'가 있으면 위치값이, 없으면 0을 반환
SELECT emp_name, email, INSTR(email, 'a')
FROM y_emp
WHERE dept_id = 100;
- 사원 이름의 오른 쪽, 급여의 왼쪽을 '*'로 채워서 출력
SELECT RPAD(emp_name, 10, '*'), LPAD(salary, 10, '*')
FROM y_emp
WHERE dept_id = 100;
- REPLACE 함수를 사용하여 주어진 문자를 다른 문자로 변환
SELECT emp_name, phone, REPLACE(phone, '.', '-') phone1
FROM y_emp
WHERE dept_id = 100;
- LTRIM, RTRIM 함수는 지정된 문자를 따로 비교하여 a또는 b가 제거된다.
SELECT LTRIM('ababaaaBaXXXAbbbabab','ab'),
RTRIM('ababaaaBaXXXAbbbabab','ab')
FROM dual;
- TRIM 함수는 선택적으로 접두어, 접미어를 지정하여 제거할 수 있으며 지정하지 않으면 양쪽 모두 제거
SELECT TRIM('w' FROM 'window'),
TRIM(LEADING 'w' FROM 'window'),
TRIM(TRAILING 'w' FROM 'window')
FROM dual;
'Oracle SQL' 카테고리의 다른 글
[SQL] 날짜 함수 (단일 행 함수 3) (0) | 2023.04.09 |
---|---|
[SQL] 숫자 함수 (단일 행 함수 2) (0) | 2023.04.09 |
[SQL] ORDER BY (데이터의 정렬) (0) | 2023.04.07 |
[SQL] WHERE 절 (0) | 2023.04.05 |
[SQL] SELECT 문 (0) | 2023.04.04 |
Comments