반응형
오늘은 SQL 작성 시 자주 사용되는 문자형 함수를 살펴보겠습니다!
문자형 함수란? 문자형 데이터를 피연산자로 해서 연산을 수행해 결과를 반환합니다 대부분 결과 값은 문자형이지만 일부분 수자를 반환하기도 합니다 대표적인 함수를 살펴봅시다!
함수 명 | 기 능 | 예 시 |
CHR( n ) | n은 숫자로 n 값에 해당되는 문자를 반환함 | SELECT CHR( 65 ) || CHR( 66 ) || CHR( 67 ) FROM DUAL; >> ABC |
CONCAT | char1과 char2 문자를 결합한 결과를 반환, || 연산자와 같은 기능 | SELELCT CONCAT( 'A', 'B' ) FROM DUAL; >> AB |
LPAD(expr1, expr2) | expr1을 반환하는데, expr2를 (n - expr1 길이) 만큼 왼쪽을 채워 반환함 | SELECT LPAD ( 'GODSU' , 8, '*' ) FROM DUAL; >> ***GODSU |
RPAD(expr1, expr2) | expr1을 반환하는데, expr2를 (n - expr1 길이) 만큼 오른쪽을 채워 반환함 | SELECT LPAD ( 'GODSU' , 8, '*' ) FROM DUAL; >> GODSU*** |
LTRIM(expr1, expr2) | expr1의 왼쪽에서 expr2를 제거한 결과를 반환함 | SELECT LTRIM( '**GODSU**', '*' ) FROM DUAL; >> GODSU** |
RTRIM(expr1, expr2) | expr1의 오른쪽에서 expr2를 제거한 결과를 반환함 | SELECT LTRIM( '**GODSU**', '*' ) FROM DUAL; >> **GODSU |
INITCAP( char ) | char의 첫 번째 문자를 대문자로 변환함 | SELECT INITCAP( 'godsu' ) FROM DUAL; >> Godsu |
LOWER( char ) | char을 소문자로 변환함 | SELECT LOWER( 'GODSU' ) FROM DUAL; >> godsu |
UPPER( char ) | char을 대문자로 변환함 | SELECT UPPER( 'godsu' ) FROM DUAL; >> GODSU |
SUBSTR(char, n1, n2) | char에서 n1 위치에서 시작해 n2 길이만큼을 잘라낸 결과를 반환함 n1을 0으로 명시하면 1이 적용 n1이 음수이면 char 오른쪽 끝에서부터 거꾸로 세어 가져옴 n2를 생략하면 n1부터 끝까지 반환함 n2 값을 1 미만으로 지정하면 NULL을 반환함 |
SELECT SUBSTR( 'GODSU', 3, 2 ) FROM DUAL; >> DS SELECT SUBSTR( 'GODSU', -3 ) FROM DUAL; >> DSU |
TRIM( char ) | char의 양쪽 끝 공백을 제거한 결과를 반환함 | SELECT TRIM( ' GODSU ' ) FROM DUAL; >> GODSU |
ASCII( char ) | char 문자의 ASCII 코드 값을 반환, CHR 함수와 반대기능을 함 | SELECT ASCII( 'A' ) FROM DUAL; >> 65 |
INSTR( char1, char2, n1, n2 ) | char1에서 char2 문자를 찾아 그 시작 위치를 반환함 n1은 char1에서 몇 번째 문자부터 찾을 것인지를 나타내는 위치이며 생략 시 1이 적용됨 n2는 char1에서 char2 문자를 찾을 때 일치하는 문자의 몇번째 위치를 반환할지를 나타냄. 생략 시 1이 적용됨 |
SELECT INSTR( 'GODSU', 'S', 2 ) FROM DUAL; >> 4 |
LENGTH( char ) | char 문자의 글자 수를 반환함 | SELECT LENGTH( 'GODSU' ) FROM DUAL; >> 5 |
문자형 함수는 약간 생소하지만.. 쓰임새와 동작 방식은 단순해서 사용하시는데 어려움이 없을 거예요!
특히 자주 사용하는 CONCAT, SUBSTR, TRIM, LENGTH, INSTR은 알아두시면 쿼리 작성 시 도움이 많이 됩니다.
다음 포스팅에서는 날짜형 함수를 다뤄볼게요~
감사합니다!
반응형
'💻 IT > 📌 DataBase' 카테고리의 다른 글
[SQL 연산자] BETWEEN 연산자 :: 범위, 구간검색 연산자 (0) | 2021.06.14 |
---|---|
[ORACLE DB] SYSTEM 계정 lock 해제와 비밀번호 변경방법 (0) | 2021.06.14 |
[SQL 함수] 날짜형 함수 :: 자주 사용하는 날짜형함수(SYSDATE, ADD_MONTHS, MONTHS_BETWEEN, LAST_DAY, ROUND, TRUNC) (0) | 2021.04.20 |
[SQL 함수] 숫자형 함수 :: 자주 사용하는 숫자형 함수(ROUND, TRUNC, ABS, SIGN 등등) (0) | 2021.04.11 |
(DB)Oracle 데이터베이스 설치 (0) | 2019.08.01 |