728x90
PostgreSQL에서 문자열을 검색하거나 편집하는 방법을 잘 활용하면 데이터를 보다 효율적으로 다룰 수 있습니다. 이번 글에서는 실무에서 자주 사용하는 SQL 문자열 처리 꿀팁을 소개해 드릴게요! 💡
🔎 1. 특정 문자열 포함된 데이터 찾기
1) `LIKE` 활용 (가장 기본적인 방법)
SELECT * FROM your_table
WHERE a LIKE '%당근%';
✅ `%당근%` → 앞뒤로 `%`를 붙이면 문자열 어디에든 포함된 데이터를 찾을 수 있어요! (예를 들어, '당근' 대신 '고구마'를 넣으면 '고구마'가 포함된 데이터를 찾을 수 있습니다.)
### 2) `POSITION` 활용 (위치 찾기)
SELECT * FROM your_table
WHERE POSITION('당근' IN a) > 0;
✅ `POSITION('당근' IN 컬럼)` → 특정 문자열이 존재하는 경우, 위치(숫자)를 반환합니다. (예를 들어, '당근'을 '바나나'로 바꿔서 실행하면 '바나나'가 포함된 데이터의 위치를 확인할 수 있습니다.)
### 3) 정규식 `~` 활용
SELECT * FROM your_table
WHERE a ~ '당근';
✅ `~` 연산자는 정규식을 사용할 수 있어요. 특정 패턴을 찾을 때 유용! (예를 들어, '당근'을 '사과'로 바꿔서 실행하면 '사과'가 포함된 데이터를 찾을 수 있습니다.)
### 4) `ILIKE` 활용 (대소문자 구분 없이 검색)
SELECT * FROM your_table
WHERE a ILIKE '%carrot%';
✅ `ILIKE`는 대소문자 구분 없이 문자열을 찾을 때 사용합니다. (예를 들어, 'carrot' 대신 'banana'를 입력하면 대소문자 관계없이 'banana'가 포함된 데이터를 찾을 수 있습니다.)
---
## ✂️ 2. 문자열 편집하기
### 1) 특정 문자열 바꾸기 (`REPLACE`)
SELECT REPLACE(a, '당근', 'Carrot') FROM your_table;
✅ `REPLACE(컬럼, '기존문자', '새문자')` → 모든 '당근'을 'Carrot'으로 변경! (예를 들어, '당근'을 '고구마'로 바꾸면 모든 '고구마'로 변경됩니다.)
### 2) 문자열 일부 추출하기 (`SUBSTRING`)
SELECT SUBSTRING(a FROM 2 FOR 5) FROM your_table;
✅ `SUBSTRING(컬럼 FROM 시작위치 FOR 길이)` → 특정 위치부터 원하는 길이만큼 문자열을 추출! (예를 들어, '2' 대신 '3'을 넣으면 세 번째 글자부터 추출됩니다.)
### 3) 특정 문자의 위치 찾기 (`STRPOS`)
SELECT STRPOS(a, '당근') FROM your_table;
✅ `STRPOS(컬럼, '찾을문자')` → '당근'이 몇 번째 위치에 있는지 찾을 수 있어요. (예를 들어, '당근' 대신 '딸기'를 넣으면 '딸기'가 등장하는 위치를 알 수 있습니다.)
### 4) 문자열 합치기 (`CONCAT`)
SELECT CONCAT(a, ' 좋아!') FROM your_table;
✅ `CONCAT(문자열1, 문자열2, ...)` → 여러 문자열을 하나로 합쳐줍니다. (예를 들어, '좋아!' 대신 '최고!'를 넣으면 다른 문장으로 변경할 수 있습니다.)
🚀 **TIP:** `||` 연산자를 사용해도 문자열을 합칠 수 있어요.
SELECT a || ' 좋아!' FROM your_table;
---
## 🎨 3. 문자열 길이 & 공백 처리
### 1) 문자열 길이 구하기 (`LENGTH`)
SELECT LENGTH(a) FROM your_table;
✅ `LENGTH(컬럼)` → 해당 문자열의 글자 수를 반환합니다.
### 2) 좌우 공백 제거 (`TRIM`, `LTRIM`, `RTRIM`)
SELECT TRIM(a) FROM your_table; -- 양쪽 공백 제거
SELECT LTRIM(a) FROM your_table; -- 왼쪽 공백 제거
SELECT RTRIM(a) FROM your_table; -- 오른쪽 공백 제거
✅ `TRIM()`을 활용하면 불필요한 공백을 제거할 수 있어요.
---
## 📌 4. 실전 활용 예제
### 🔥 이메일에서 아이디만 추출하기
SELECT SPLIT_PART(email, '@', 1) FROM users;
✅ `SPLIT_PART(문자열, 구분자, 인덱스)` → 이메일에서 `@` 앞부분만 추출! (예를 들어, 'example@gmail.com'이라면 'example'만 출력됩니다.)
### 🔥 특정 문자로 시작하는 데이터 찾기
SELECT * FROM your_table
WHERE a LIKE '당근%';
✅ '당근'으로 시작하는 데이터만 검색할 수 있어요. (예를 들어, '당근'을 '포도'로 변경하면 '포도'로 시작하는 데이터를 찾을 수 있습니다.)
### 🔥 특정 문자로 끝나는 데이터 찾기
SELECT * FROM your_table
WHERE a LIKE '%당근';
✅ '당근'으로 끝나는 데이터만 검색할 수 있어요. (예를 들어, '당근'을 '오렌지'로 변경하면 '오렌지'로 끝나는 데이터를 찾을 수 있습니다.)
---
실무에서 꼭 필요한 SQL 문자열 처리 기술이니, 직접 따라 해보면서 익혀보세요! 😎🚀
728x90
'생각은축복이다' 카테고리의 다른 글
쉽게 이해하는 대출 관련 지표: DSR, DTI, LTV (0) | 2025.03.01 |
---|---|
모델의 정확도만 믿어도 될까요?— 신뢰성을 결정하는 Calibration의 중요성 (0) | 2025.02.27 |
경제 지표로 보는 물가와 금리, 그리고 현재 우리나라 경제 상황 (0) | 2025.02.10 |
"책 한 권 읽은 사람이 가장 무섭다" - 더닝크루거 효과와 메타인지의 중요성 (1) | 2025.02.04 |
python 주피터 노트북 환경에서 큰 데이터 때문에 RAM이 못버틸 때 (0) | 2025.01.25 |