1. 문자열을 합치는 함수 - CONCAT()
SELECT CONCAT('KAKAO', 'FRIENDS') FROM DUAL;
2. 첫 글자는 대문자, 나머지 문자는 소문자로 바꾸는 함수 - INITCAP()
SELECT INITCAP('tHIS IS A bOoK') FROM DUAL;
3. 전체 영문을 대문자로 바꾸는 함수 - UPPER()
SELECT UPPER('tHIS IS A bOoK') FROM DUAL;
4. 전체 영문을 소문자로 바꾸는 함수 - LOWER()
SELECT LOWER('tHIS IS A bOoK') FROM DUAL;
5. 문자열 왼쪽에 특정문자를 추가하는 함수 - LPAD()
SELECT LPAD('ABCDEF', 8, '@') FROM DUAL;
문자열을 8자로 바꾸고 남는 좌측편에 특정문자를 붙여줌
SELECT LPAD('ABCDEF', 9, ' ') FROM DUAL;
문자열을 9자로 바꾸고 남는 좌측편에 특정문자를 붙여줌
6. 문자열 오른쪽에 특정문자를 추가하는 함수 - RPAD()
SELECT RPAD('FIGHT', 6, '!') FROM DUAL;
문자열을 6자로 바꾸고 남는 우측편에 특정문자를 붙여줌
7. 문자열 왼쪽에 공백제거, 특정 문자 제거 - LTRIM()
SELECT LTRIM(' 123456') FROM DUAL;
문자열 좌측 공백제거
SELECT LTRIM('AAABBBCCC', 'A') FROM DUAL;
문자열 좌측 'A' 모두 제거
SELECT LTRIM('홍길동', '홍') FROM DUAL;
문자열 좌측 '홍' 제거
8. 문자열 오른쪽에 공백제거, 특정 문자 제거 - RTRIM()
SELECT RTRIM('12345 ') FROM DUAL;
문자열 우측 공백 제거
SELECT RTRIM('12345@', '@') FROM DUAL;
문자열 우측 '@' 제거
SELECT RTRIM('가나다다다', '다') FROM DUAL;
문자열 우측 '다' 모두 제거
9. 특정 문자열 대채 함수 - REPLACE()
SELECT REPLACE('ABCD@@EFGH', '@', '---') FROM DUAL;
문자열 대체에는 문자열의 길이는 맞춰주지 않아도 된다. 문자열의 '@' 를 '---'으로 대체.
SELECT REPLACE('ABCD@@EFGH', '@@', '%') FROM DUAL;
문자열 대체에는 문자열의 길이는 맞춰주지 않아도 된다. 문자열의 '@@' 를 '%'으로 대체.
SELECT REPLACE('ABCD@@EFGH', '@', ' ') FROM DUAL;
문자열의 '@' 를 ' '으로 대체.
SELECT REPLACE('ABCD@@EFGH', '@', '') FROM DUAL;
문자열의 '@'을 ''으로 대채
SELECT REPLACE('홍길동', '길', '상') FROM DUAL;
문자열의 '길'을 '상'으로 대채
10. 문자열 자르기 - SUBSTR()
SELECT SUBSTR('123456789', 1, 5) FROM DUAL;
문자열의 첫번째부터 5번째까지 자르기
SELECT SUBSTR('123456789', 4) FROM DUAL;
문자열의 네번째부터 끝까지 자르기
SELECT SUBSTR('123456789', -3) FROM DUAL;
문자열의 뒤에서부터 3번째까지 자르기
SELECT SUBSTR('123456789', -7, 2) FROM DUAL;
문자열의 뒤에서부터 7번째에서 2개 자르기
11. 문자열의 길이 표시 함수 - LENGTH()
SELECT LENGTH('123 456 789') FROM DUAL;
띄어쓰기도 세어짐
SELECT LENGTH('홍길동') FROM DUAL;
12. 문자열의 길이(BYTE)로 표시해주는 함수 - LENGTHB()
SELECT LENGTHB('123 456 789') FROM DUAL;
띄어쓰기도 세어짐
SELECT LENGTHB('홍길동') FROM DUAL;
13. 문자열에 특정문자 포함 유무, 위치 표시 함수 - INSTR()
SELECT INSTR('1+2+3+4+5=15', '+') FROM DUAL;
문자열 처음부터 첫번째 '+' 의 위치를 숫자로 표시
SELECT INSTR('1+2+3+4+5=15', '+', -1) FROM DUAL;
문자열 맨뒤부터 첫번째 '+'가 처음부터 몇번째인지를 숫자로 표시
SELECT INSTR('1+2+3+4+5=15', '*') FROM DUAL;
문자열에 포함되지 않은 문자열을 찾을 경우 0을 RETURN
14. 양쪽 공백 제거 함수 - TRIM()
SELECT TRIM(' ABC ') FROM DUAL;
양쪽 공백 제거
SELECT TRIM('AAABCDEFAAA', 'A') FROM DUAL;
모든 공백이 제거되지는 않음
SELECT TRIM('AAABCDEFAAA', 'A') FROM DUAL;
문자열에 사용할 수는 없어서 양쪽의 특정문자를 제거하려면 RTRIM, LTRIM 을 써줘서 해결해야 겠다.
'Database' 카테고리의 다른 글
[ SQL ] TRUNC(TRUNCATE) VS ROUND (0) | 2021.05.03 |
---|---|
[ SQL ] TO_CHAR 함수 (0) | 2021.05.03 |
[ SQL ] PROCEDURE(프로시져), PACKAGE(패키지) (0) | 2021.05.02 |
[ SQL ] FUNCTION(함수) (0) | 2021.05.01 |
[ SQL ] WHERE EXISTS, NOT EXIST (0) | 2021.05.01 |