티스토리 뷰
REPLACE 함수 기본 문법
REPLACE 함수는 문자열 내에서 특정 문자열을 다른 문자열로 대체하는 데 사용됩니다.
기본 문법은 다음과 같습니다:
REPLACE(original_string, substring_to_replace, replacement_string)
- original_string: 원본 문자열입니다.
- substring_to_replace: 대체할 대상이 되는 부분 문자열입니다.
- replacement_string: 새로운 부분 문자열입니다. 이 값으로 대체됩니다.
설명
- REPLACE 함수는 원본 문자열에서 지정된 부분 문자열을 찾아 다른 문자열로 대체합니다.
- 대체 작업은 대소문자를 구분하며, 원본 문자열의 모든 일치 항목을 대상으로 합니다.
- 이 함수는 대체된 새로운 문자열을 반환합니다.
예시
# 데이터베이스 테이블 예시
products라는 테이블이 있다고 가정해 봅시다.
product_id | product_name | price |
1 | 레드 티셔츠 | 19.99 |
2 | 블루 티셔츠 | 21.99 |
3 | 녹색 티셔츠 | 18.99 |
4 | 청바지 | 49.99 |
5 | 빨간 구두 | 59.99 |
예시 1: 단순 문자열 대체
SELECT REPLACE(product_name, 'T-shirt', 'Shirt') AS new_product_name
FROM products;
결과 : 이 예시에서는 T-shirt라는 문자열을 Shirt로 대체하여 새로운 제품 이름을 생성합니다.
new_product_name |
레드 티셔츠 |
블루 티셔츠 |
녹색 티셔츠 |
청바지 |
빨간 구두 |
예시 2: 가격 수정 (소수점 변경)
SELECT REPLACE(CAST(price AS VARCHAR), '.', ',') AS price_with_comma
FROM products;
결과 : 이 예시에서는 가격에서 소수점을 쉼표로 변경하여 출력합니다.
price_with_comma |
19,99 |
21,99 |
18,99 |
49,99 |
59,99 |
Good 사용법
1. 일관된 데이터 형식 유지: 데이터베이스에서 일관되지 않은 형식을 수정할 때 유용합니다.
SELECT REPLACE(phone_number, '-', '') AS clean_phone_number
FROM customers;
2. 데이터 정제: 특정 문자가 포함된 데이터를 정제하거나 변경할 때 사용할 수 있습니다.
SELECT REPLACE(address, 'Street', 'St.') AS shortened_address
FROM customer_addresses;
Bad 사용법
1. 대량의 데이터에서 성능 저하: 대규모 데이터셋에서 많은 문자열을 대체할 경우 성능이 저하될 수 있습니다. 이러한 경우, 필요한 경우에만 REPLACE를 사용하거나 사전에 데이터를 정리하는 것이 좋습니다.
2. 데이터 무결성 손상 가능성: 데이터가 예상치 않게 변경되어 무결성이 손상될 수 있습니다. 예를 들어, 원하지 않는 부분이 대체되면 데이터가 의도치 않게 변경될 수 있습니다.
SELECT REPLACE(email, '@gmail.com', '@example.com') AS updated_email
FROM users;
※ 이 경우, 잘못된 이메일 주소로 변경될 위험이 있습니다.
반응형