반응형
LOWER(문자열) / UPPER(문자열) / INITCAP(문자열)
LOWER : 문자열을 모두 소문자로 변환하여 반환한다.
UPPER : 문자열을 모두 대문자로 변환하여 반환한다.
INITCAP : 문자열의 첫 번째 문자는 대문자, 나머지는 소문자로 변환하여 반환한다.
SELECT LOWER('hello ORACLE!') AS LOWER,
UPPER('hello ORACLE!') AS UPPER,
INITCAP('hello ORACLE!') AS INITCAP
FROM dual;
LOWER | UPPER | INITCAP |
hello oracle! | HELLO ORACLE! | Hello Oracle! |
LENGTH(문자열)
문자열의 길이를 반환한다.
SELECT LENGTH('Hello Oracle') AS LENGTH
FROM dual;
LENGTH |
12 |
CONCAT(문자열1, 문자열2) / ||
문자열1과 문자열2를 합친다.
SELECT CONCAT('Hello', 'World') AS CASE1,
CONCAT('Oracle', 'SQL') AS CASE2
FROM dual;
SELECT 'Hello' || 'World' AS CASE1,
'Oracle' || 'SQL' AS CASE2
FROM dual;
CASE1 | CASE2 |
HelloWorld | OracleSQL |
SELECT CONCAT(CONCAT('Hello', ' '), 'World') AS CASE1,
CONCAT(CONCAT('Oracle', ' '), 'SQL') AS CASE2
FROM dual;
SELECT 'Hello' || ' ' || 'World' AS CASE1,
'Oracle' || ' ' || 'SQL' AS CASE2
FROM dual;
CASE1 | CASE2 |
Hello World | Oracle SQL |
SUBSTR(문자열, 시작 위치, 길이)
문자열의 시작 위치부터 길이만큼 자른 후 반환한다.
- 길이는 생략 가능하며, 생략 시 문자열의 끝까지 반환한다.
SELECT SUBSTR('Hello Oracle', 2) AS CASE1,
SUBSTR('Hello Oracle', 7, 5) AS CASE2
FROM dual;
CASE1 | CASE2 |
ello Oracle | Oracl |
문자열을 뒤에서부터 자를 수도 있다.
SELECT SUBSTR('Hello Oracle', -2) AS CASE1,
SUBSTR('Hello Oracle', -8, 5) AS CASE2
FROM dual;
CASE1 | CASE2 |
le | o Ora |
LPAD(문자열, 길이, 문자) / RPAD(문자열, 길이, 문자)
입력받은 문자열에서 길이까지 입력 문자로 채운다.
LPAD : 왼쪽에 입력 문자를 채운다.
SELECT LPAD(10, 5, '0') AS CASE1,
LPAD(11, 5, '0') AS CASE2,
LPAD(12, 5, '0') AS CASE3
FROM dual;
CASE1 | CASE2 | CASE3 |
00010 | 00011 | 00012 |
RPAD : 오른쪽에 입력 문자를 채운다.
SELECT RPAD(1, 5, '0') AS CASE1,
RPAD(2, 5, '0') AS CASE2,
RPAD(3, 5, '0') AS CASE3
FROM dual;
CASE1 | CASE2 | CASE3 |
10000 | 20000 | 30000 |
TRIM(문자열) / LTRIM(문자열, 옵션) / RTRIM(문자열, 옵션)
TRIM : 문자열의 양쪽 공백(’ ‘)을 제거한다.
SELECT TRIM(' Hi ') AS CASE1,
TRIM(' Hello ') AS CASE2
FROM dual;
CASE1 | CASE2 |
Hi | Hello |
LTRIM : 문자열의 왼쪽 공백을 제거하거나, 특정 문자나 반복적인 문자를 제거한다.
SELECT LTRIM(' Hi ') AS CASE1,
LTRIM(' ? !') AS CASE2,
LTRIM('HiHiHello', 'Hi') AS CASE3,
LTRIM('. Hi Hello', 'Hi') AS CASE4,
LTRIM('Hello Hi Haha', 'H') AS CASE5,
LTRIM('HaHaHaHaH HaHaHa', 'Ha') AS CASE6
FROM dual;
CASE1 | CASE2 | CASE3 | CASE4 | CASE5 | CASE6 |
Hi. | ? ! | ello | . Hi Hello | ello Hi Haha | HaHaHa |
RTRIM : 문자열의 오른쪽 공백을 제거하거나, 특정 문자나 반복적인 문자를 제거한다.
SELECT RTRIM(' Hi ') AS CASE1,
RTRIM('? ! ') AS CASE2,
RTRIM(' Hi Hello HiHiHi', 'Hi') AS CASE3,
RTRIM(' Hello Hi Hi HiHi', 'Hi') AS CASE4,
RTRIM('HHH HHH HHH HHH', 'H') AS CASE5,
RTRIM('HHH HHH HHH HHH ', 'HHH ') AS CASE6
FROM dual;
CASE1 | CASE2 | CASE3 | CASE4 | CASE5 | CASE6 |
Hi | ? ! | Hi Hello | Hello Hi Hi | HHH HHH HHH |
TRANSLATE(문자열1, 문자열2, 문자열3)
문자열1에서 문자열2를 문자열3으로 대체
- 문자열2와 문자열3은 1:1로 대응함
- 문자열2가 hw, 문자열3이 HW이면, h는 H와, w는 W와 대응하여 대체(CASE1, CASE5)
- 만약, 대응되는 문자가 없는 경우 문자열1의 해당 문자는 제거됨(CASE4)
SELECT TRANSLATE('hello world', 'hw', 'HW') AS CASE1,
TRANSLATE('hello world', 'l', 'e') AS CASE2,
TRANSLATE('hello world', 'o', ' ') AS CASE3,
TRANSLATE('hello world', 'hlo', '-') AS CASE4,
TRANSLATE('hello world', 'hw', 'WH') AS CASE5
FROM dual;
CASE1 | CASE2 | CASE3 | CASE4 | CASE5 |
Hello World | heeeo wored | hell w rld | -e wrd | Wello Horld |
REPLACE(문자열1, 문자열2, 문자열3)
문자열1에서 문자열2를 문자열3로 대체
- 문자열1에 존재하는 문자열2가 완벽히 일치하지 않으면 대체 불가능
SELECT REPLACE('hello world', 'hello', 'oracle') AS CASE1,
REPLACE('hello world', 'he', 'l') AS CASE2,
REPLACE('hello world', 'hw', 'HW') AS CASE3,
REPLACE('hello world', 'hello world', 'Hello World') AS CASE4,
REPLACE('hello world', 'hel', 'Oracle') AS CASE5
FROM dual;
CASE1 | CASE2 | CASE3 | CASE4 | CASE5 |
oracle world | lllo world | hello world | Hello World | Oraclelo world |
반응형
'데이터베이스(DB: Database) > SQL' 카테고리의 다른 글
[SQL] 오라클(Oracle) 형변환 함수 정리 (0) | 2023.06.03 |
---|---|
[SQL] 오라클(Oracle) 날짜 함수 정리 (0) | 2023.05.30 |
[SQL] 오라클(Oracle) 숫자 함수 정리 (0) | 2023.04.26 |
[SQL] Oracle과 MySQL의 문법 차이 정리 (0) | 2023.04.19 |
[SQL] SQL과 NoSQL의 차이 (관계형 데이터베이스 vs 비관계형 데이터베이스) (0) | 2022.10.06 |