1️⃣ string1 ||
string2 ...
2️⃣ concat
(string1, string2, ...)
SELECT employee_id
, first_name || '-' || last_name as emp_name1 -- 1,2 조회 결과 같음
, concat(first_name,'-',last_name) emp_name2 -- 1,2 조회 결과 같음
FROM employees
1️⃣ LIKE
컬럼명 LIKE pattern
SELECT employee_id
FROM employees
WHERE last_name LIKE'da%'
and last_name LIKE'%Da'
and last_name LIKE'%da%'
2️⃣ 복수의 LIKE 절
regexp_like
(컬럼명, 'A|B|C|D|E')SELECT employee_id
FROM employees
WHERE regexp_like(category_1st, '니트|원피스|스웨터')
n | 함수 | 기능 | 사용예 | 반환값 |
---|---|---|---|---|
1️⃣ | lower(string) | 소문자로 변환 | SELECT lower('SQL') FROM DUAL; | sql |
2️⃣ | upper(string) | 대문자로 변환 | SELECT upper('sql') FROM DUAL; | SQL |
3️⃣ | length(string) | 문자의 글자수 반환 | SELECT length('sql') FROM DUAL; | 3 |
4️⃣ | substr(string, n1, n2) | -n1 부터 시작해서 n2만큼 잘라낸 결과 반환 | SELECT substr('ABCDEFG', 2, 3) FROM DUAL; | BDC |
-n1이 음수면 오른쪽 끝에서부터 거꾸로 세어서 가져옴 | ||||
-n2 생략시 n1부터 끝까지 가져옴 | ||||
5️⃣ | trim(string) | 문자 양쪽 끝 공백을 제거한 결과 반환 | SELECT length(' SQL ') FROM DUAL; | 'SQL' |
6️⃣ | replace(string, search, replace) | string에서 search를 찾아 replace로 대체 | SELECT replace('ABC', 'B', 'd') FROM DUAL; | AdC |
7️⃣ | split(string, 구분기호) | 구분 기호기준으로 문자열을 분할하고 배열을 반환 | SELECT split('abc-def', '-') | [abc, def] |
8️⃣ | split_part(string, 구분기호, index) | -구분 기호기준으로 문자열을 분할하고 필드 인덱스를 반환 | SELECT split('abc-def', '-', 1) | abc |
-index starts with 1 | SELECT split('abc-def', '-', 2) | def |
1️⃣ regexp_extract_all
(string, pattern, group)-> varchar
-- /d+ -> 숫자
-- [a-z]+ -> 문자
SELECT regexp_extract_all('1a 2b 14m', '(\d+)([a-z]+)', 1) -- ['1', '2', '14']
, regexp_extract_all('1a 2b 14m', '(\d+)([a-z]+)', 2) -- ['a', 'b', 'm']
2️⃣ regexp_replace
(string, pattern, function) -> varchar
SELECT regexp_replace('new york', '(\w)(\w*)', x -> upper(x[1]) || lower(x[2])); --'New York'
3️⃣ regexp_like
(string, 'a|b|c') -> boolean