1. 오늘의 학습 키워드
SQL : 문자함수
2. 공부한 내용 본인의 언어로 정리하기
함수 | 내용 |
LOWER | 대상 문자열을 모두 소문자로 변환 |
UPPER | 모든 문자를 대문자로 변경함 |
INITCAP | 문자열 단어의 첫 문자는 대문자 나머지는 소문자로 변경함 |
CONCAT(s1, s2) | 두 문자열을 연결 |
SUBSTR(s, m, n) | 문자열 중 지정한 위치에서 지정한 길이만큼의 문자열을 추출 |
INSTR(s1, s2, m, n) | 문자열 내의 특정 문자열의 위치를 숫자로 표시 |
LENGTH(s) | 문자의 길이를 숫자 값으로 표시 |
CHR(n) | ASCII 코드 값이 n인 문자 반환 |
ASCII(s) | s문자의 ASCII 코드값 반환 |
LPAD(s1, n, s2) | 문자열을 제외한 왼쪽 공간에 지정한 문자로 채움 |
RPAD(s1, n, s2) | 문자열을 제외한 오른쪽 공간에 지정한 문자로 채움 |
LTRIM(s,c) | 대상 문자열의 오른쪽부터 지정한 문자들을 제거 |
RTRIM(s,c) | 대상 문자열의 왼쪽부터 지정한 문자들을 제거 |
TRIM | 앞, 뒤에 나오는 특정 문자를 제거 |
TRANSLATE(s, from, to) | 첫 문자는 탐색집합의 첫 문자로 대체(2번째도 동일) |
REPLACE(s,p,r) | 특정 문자열을 다른 문자열로 대체 |
LOWER / UPPER
- 영문자를 모두 소문자로/대문자로 변경한다.
INITCAP(char)
INITCAP 함수 : 파라미터인 char의 첫 문자를 대문자로 바꾸는 함수
- 반환되는 데이터 타입은 파라미터 타입과 동일한 타입을 반환
- 첫 문자만을 대문자로 변환하며 나머지 문자들은 대소문자 관계없이 모두 소문자로 변환
- INITCAP 함수가 인식하는 첫 문자는 파라미터로 들어오는 문자열에서 문자 구분자(delimiter)로 구분되는 첫 문자 모두를 말한다.
- 문자 구분자가 될 수 있는 것은 일반적으로 공백이나 탭에 해당되는데 INITCAP 함수에서는 이외에도 알파벳 문자가 아닌 문자 모두를 구분자로 인식
LENGTH(char)
LENGTH : 길이, LENGTHB : 바이트 수를 반환
SUBSTR(char, position, length)
SUBSTR 함수 : 문자열의 일부분을 떼어내는 기능을 하는 함수
- char 문자열에서 position으로 지정된 위치로부터 length개의 문자를 떼어 내어 그 결과를 반환
- postion 값을 0으로 명시한 경우 -> 그 위치 값은 디폴트로 1이 적용되어 문자열의 맨 왼쪽 첫 번째 자리부터 length만큼 문자열을 잘라내게 된다.
- Postion 값이 음수인 경우에는 그 위치가 왼쪽이 아니라 오른쪽부터 시작
ex) position값이 -2일 경우 문자열 맨 오른쪽 두번째 자리부터 문자를 잘라내게 된다.
- Length 값이 1보다 작을 경우에는 null을 반환하고, length 생략 시 postion으로 지정된 위치부터 문자열의 끝까지를 반환
**length는 1부터 시작
SUBSTRB(char, position, length)
- substr 함수와 기능은 동일하지만 length로 명시된 숫자만큼은 문자 개수를 잘라내는 것이 아니라 문자열의 바이트 수를 잘라내어 그 결과를 반환
INSTR(string, search_string, postion, occurrence)
NSTR 함수 : 대상 문자열을 찾아 그 위치를 반환하는 함수
- string : 대상 문자열
- search_string : 찾는 문자열
- position : 문자열을 찾는 시작 위치
- occurrence : 몇 번째 인지를 명시
** position과 occurrence : 생략 가능하며 디폴트 값은 1이 된다.
ASCII(CHAR)
- CHAR는 일반적으로 문자 하나여야 하지만 문자열 형태로 들어오는 경우 결과는 맨 처음 문자의 ASCII 코드 값만 반환
CHR(n)
ASCII 값이 n에 해당되는 문자를 리턴
LPAD(expr1, n, [expr2])
LPAD 함수 : expr1을 n 자리만큼 문자열 길이로 만들어 변환하는 함수
- expr1 자릿수가 n보다 작을 경우 n-expr1의 길이만큼을 expr2로 들어오는 문자열로 왼쪽을 채워 반환
- expr2를 생략할 수도 있는데 생략할 경우 공백문자가 기본 적용
RPAD(expr1, n, [expr2])
- LPAD 함수와 동일하지만 채우는 위치가 왼쪽이 아니라 오른쪽이 된다.
LTRIM(char [,set])
LTRIM : 파라미터인 char에서 set으로 지정된 문자를 가장 왼쪽 끝에서 제거한 결과를 반환하는 함수
- Set 생략시 기본값은 공백문자로 적용
RTRIM(char [,set])
- RTRIM도 LTRIM과 기능이 같으나 파라미터로 들어온 문자열을 왼쪽이 아니라 오른쪽 끝에서 제거한다.
TRIM([LEADING, TRAILING, BOTH] [,trim_char] [FROM] trim_source)
TRIM 함수 : 문자열의 왼쪽이나 오른쪽, 양쪽 모두에서 지정된 문자나 공백을 제거한 결과를 반환
다른점은 제거할 문자에 해당하는 trim_char로는 문자열이 아닌 오직 문자 하나만 올 수 있다.
- LEADING 구문을 사용해서 대상 문자열에서 왼쪽에 있는 trim_char를 제거할 수 있고, TRAILING 구문을 사용해서 오른쪽에서 지정한 문자를 제거, BOTH 구문을 사용해서 양쪽 끝 지정한 문자를 제거할 수 있다.
기본값은 BOTH가 적용된다.
TRANSLATE(expr, from_string, to_string)
TRANSLATE 함수 : 문자열 하나를 일대일로 변환하는 작업을 수행
- from_string은 to_string보다 그 길이가 많아도 상관없지만 일대일로 대응되지 않는 문자는 NULL로 변환
- to_string은 생략 불가능, null값 가능
REPLACE(char, search_string, replace_string)
Replace함수 : char 문자열에서 search_string 값으로 들어온 문자를 replace_string값으로 대체하여 이 결과 반환
- replace_string은 생략할 수 있는데 이 값이 생략되거나 null 값이 올 경우에는 char 문자로 들어온 문자열 중에서 search_string 값을 제외한 (결국 search_string 값을 null로 대체한) 결과를 반환
'TIL' 카테고리의 다른 글
99클럽 코테 스터디 3일차 TIL + Set과 HashSet의 차이점 (0) | 2024.03.28 |
---|---|
99클럽 코테 스터디 1일차 TIL + SQL 단일 행 함수 (0) | 2024.03.26 |