SQL의 문자열 함수

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