SQL 문자열(STRING) 함수 Oracle과 MySQL 사용방법 및 예제
오라클 과 MySQL 사용 시 문자열을 컨트롤 할 수 있는 함수에 대해 정리 내역을 공유해 보겠습니다.
💬 요약
1. 문자열 대/소 문자로 강제 변환 함수
2. 문자열 자르는 함수(SUBSTR)
3. 문자열 길이(LENGTH)
4. 특정 문자 채우기(RPAD/LPAD)
5. 특정 문자 위치 반환(INSTR)
6. 특정 문자 치환(REPLACE)
1️⃣ 문자열 대/소 문자로 강제 변환
💦 UPPER, LOWER, INITCAP
UPPER(대문자 변환), LOWER(소문자 변환) 함수는 ORACLE, MySQL모두 함께 사용할 수 있는 함수입니다.
INITCAP(첫 글자만 대문자 변환) 함수는 ORACLE에서 만 사용
SELECT UPPER('abcdefghijk') AS "대문자로변환" , LOWER('ABCDEFGHIJK') AS "소문자로변환"
, INITCAP('abcd_efg_hij_klmn') AS "첫문자만대문자변환"
FROM DUAL |
2️⃣ 문자열 자르기
💦 SUBSTR('문자열', '시작위치', '출력길이')
SUBSTR 함수는 문자열의 시작 위치와 출력 길이를 입력하여 문자열의 원하는 부분만 잘라서 사용할 수 있는 함수로 Oracle/MySQL 모두 사용이 가능하다.
SELECT SUBSTR('20210706 09:36:15', 1, 4) AS "문자열자르기(년)" , SUBSTR('20210706 09:36:15', 5, 2) AS "문자열자르기(월)" , SUBSTR('20210706 09:36:15', 7, 2) AS "문자열자르기(일)" , SUBSTR('20210706 09:36:15',10, 9) AS "문자열자르기(시간)" , SUBSTR('123456789', -5, 5) AS "뒤에서자르기" FROM DUAL |
✅ 문자열 자르기 함수 사용 쿼리 실행 및 결과 화면
3️⃣ 문자열 길이
💦 LENGTH('문자')
LENGTH는 문자열의 총 길이를 반환하는 함수로 ORACLE과 MySQL 모두 사용할 수 있다.
SELECT LENGTH(LEN) AS "문자열길이출력"
, SUBSTR(LEN, LENGTH(LEN)-3, LENGTH(LEN)) AS "문자열길이응용"
FROM(SELECT '123456789' AS LEN
FROM DUAL
) A |
✅ 문자열 전체 길이를 반환하는 함수 실행 및 결과 화면
4️⃣ 특정 문자 채우기
💦 LPAD(컬럼, 적용문자갯수, 특정문자)
💦 RAD(컬럼, 적용문자갯수, 특정문자)
LPAD는 칼럼 값의 왼쪽을 특정 문자가 적용 문자 개 수 만큼 채우며 RPAD는 오른쪽을 채운다.
|
SELECT LPAD(VAL, 10, '0') AS "왼쪽채우기"
, RPAD(VAL, 10, '0') AS "오른쪽채우기"
FROM(SELECT '1' AS VAL
FROM DUAL
) A |
✅특정 문자 채우기 함수 실행 및 결과 화면
5️⃣ 특정 문자 위치 반환
💦 INSTR(컬럼, 특정문자)
INSTR 은 특정 문자 위치를 반환하는 함수로써 ORACLE & MySQL 모두 사용할 수 있다.
SELECT INSTR(VAL, '.') AS "반환위치"
, SUBSTR(VAL, 1, INSTR(VAL, '.')-1) AS "INSTR응용(파일명)"
, SUBSTR(VAL, INSTR(VAL, '.')+1, LENGTH(VAL)) AS "INSTR응용2(확장자명)"
FROM(SELECT '문자열함수관련함수.xlsx' AS VAL
FROM DUAL
) A |
✅ 특정 문자 위치를 반환 함수 실행 및 결과 화면
6️⃣ 특정 문자를 다른 문자로 치환
💦 REPLACE(컬럼, 치환대상문자, 치환문자)
REPLACE는 특정 문자를 다른 문자로 치환하는 함수로 Oracle & MySQL 모두 사용이 가능한 함수이다.
| SELECT REPLACE(VAL, '<br>', '\n') AS "특정문자변환"
, REPLACE(REPLACE(VAL, '<br>', '\n'), 'Oracle', '오라클') AS "특정문자변환_응용"
FROM(SELECT 'Oracle과 <br> MySQL에서 모두 쓰이는 함수' AS VAL
FROM DUAL
) A |
✅ 함수 실행 및 결과 화면
이상 포스팅을 마치겠습니다.
오늘도 좋은 하루 되세요.





