String Function (문자열 함수)
문자열에 대한 함수들의 모음이다..
대소문자 변환
- upper(컬럼명) : 모든 영어를 대문자로
- lower(컬럼명) : 모든 영어를 소문자로
- initcap(컬럼명) : 맨 앞 영어 스펠링만 대문자로
substr () 문자열 추출
- substr(컬럼명,시작위치,몇개의 글자를 가져올지)
ex) tel 컬럼에 데이터 010-1234-5678 이 있을 때
substr(tel,5,9) 하게 되면 1234-5678이 출력 된다
length () 문자열 길이
자바 문자열 함수 length와 똑같이 길이를 반환한다.
ex) Oracle 이라는 데이터가 들은 컬럼 a 검색시
length(a) 하면 6이 나온다 ..
instr() 문자열 검색
java로 치면 indexof랑 똑같은 것이다.
instr(컬럼명,검색어,시작위치) 의 형태로 한다
단, 시작위치에 - 를 붙이면 뒤에서부터 탐색을 한다 lastIndexOf
lpad() , rpad() 패딩
왼쪽에 공백을 얼마 줄 지 , 오른쪽에 공백을 얼마 줄 지 정하는 함수이다.
lpad(글자,숫자,글자) 의 형태로 작성한다
1번째 글자는 내가 쓸 글자, 2번째는 숫자-1번째 글자 길이의 위치까지 공백을 주는 함수 , 3번째는 공백을 뭐로 채울지에 대한 글자이다 .
lpad('강남',7,'@')을 하면 결과는 @@@@@강남
이라는 결과를 낸다.
trim() , ltrim() , rtrim() 공백제거
앞에 패딩과 마찬가지로 왼쪽 오른쪽이 존재하며 당연히 왼쪽 공백 오른쪽 공백을 뜻한다.
trim은 앞 뒤 공백을 의미한다.
trim(컬럼명) , ltrim(컬럼명) , rtrim(컬럼명) 으로 다 똑같다.
replace() , decode()문자열 치환
그냥 원하는 글자를 바꿀 때 사용한다..
replace('문자','바꾸고 싶은 문자','바꿀 문자') 의 형태로 사용하며
예를 들어
replace('역삼역','역','동') 을 하게 되면
동삼동이 출력이 된다.. 원하는 1개만 하는게 아니라 동일한 문자는 다 바뀌게 된다.
뒤에 decode의 경우 완전히 똑같지 않으면 치환이 불가능하다.
'SQL(oracle)' 카테고리의 다른 글
SQL의 숫자 함수 (0) | 2024.03.05 |
---|---|
SQL의 Aggregation Function (집계함수) (2) | 2024.03.04 |
SQL의 Order by (정렬) (0) | 2024.03.04 |
SQL의 Column (컬럼) (0) | 2024.03.04 |
SQL의 where (1) | 2024.02.22 |