728x90
반응형
1. REPLACE() : 문자열 한 개 치환
SELECT REPLACE(컬럼, '문자열', '바꿀문자')
select customerid, custstate, replace(custstate,'A','000')
from customers;
2. REGEXP_REPLACE() : 다중 문자열 치환
REGEXP_REPLACE(컬럼, '문자열1|문자열2|문자열3', '바꿀문자')
1. 다중 문자열을 하나의 문자열로 치환하기
--custstate 지역 중 WA 지역에 사는 사람과 WA 가 아닌 지역에 사는 사람을 구분해서 보여주세요.--
select customerid, custstate, regexp_replace(custstate,'TX|OR|CA','Others') as newstate_flag
from customers;
* 같은 문제를 조건문을 사용해 풀 수도 있다. (CASE WHEN, THEN, ELSE, END AS)
select customerid, custstate , case when custstate='WA' then 'WA' else 'Others' end as newstate_flag
from customers c ;
2. 문자열 이용하기
select customerid, custphonenumber , regexp_replace(custphonenumber ,'[^[:digit:]]', '') as newstate_flag
from customers;
* [^[:digit:]] : 숫자가 아닌 모든 문자를 제거 한다
* [[:punct:]] : 특수문자만 제거 한다
728x90
반응형
'데이터베이스 > SQL' 카테고리의 다른 글
SQL 테이블 코드 만들기 예시 (0) | 2021.08.15 |
---|---|
집합연산자(UNION, INTERSECT, EXCEPT) (0) | 2021.08.14 |
[PostgreSQL] 년도,월,일,시간 등 추출하기(EXTRACT) (0) | 2021.08.08 |
[PostgreSQL] 문자열 이어 붙이기, 합치기 (concat, ||) (0) | 2021.08.07 |
SQL 테이블 유형 허용조건/제약조건 (0) | 2021.03.21 |