티스토리 뷰

SQL 문자열 함수 기본 문법

문자열 함수는 텍스트 데이터를 조작하기 위해 사용되며, 주로 SELECT 문과 함께 사용됩니다.

문자열 함수의 주요 유형은 다음과 같습니다.

 

 

주요 문자열 함수 설명

1. CONCAT(): 여러 문자열을 하나로 결합합니다.

CONCAT(string1, string2, ...)

 

 

2. SUBSTRING(): 문자열의 일부분을 추출합니다.

SUBSTRING(string, start_position, length)

 

 

 

3. LENGTH(): 문자열의 길이를 반환합니다.

LENGTH(string)

 

 

4. UPPER()LOWER(): 문자열을 대문자 또는 소문자로 변환합니다.

UPPER(string)
LOWER(string)

 

 

5. TRIM(): 문자열의 앞뒤 공백을 제거합니다.

TRIM(string)

 

 

6. REPLACE(): 문자열 내의 특정 부분을 다른 문자열로 대체합니다.

REPLACE(string, old_substring, new_substring)

 

 

 

예시

데이터베이스 테이블 예시

다음과 같은 employees 테이블이 있다고 가정해 봅시다.

employee_id first_name last_name email
1 John Doe john.doe@example.com
2 Jane Smith jane.smith@example.com
3 Emily Davis emily.davis@example.com

 

 

예시 1: CONCAT() 사용

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

 

결과: employees 테이블에서 이름과 성을 결합하여 전체 이름을 생성합니다.

full_name
John Doe
Jane Smith
Emily Davis

 

 

 

예시 2: SUBSTRING() 사용

SELECT SUBSTRING(email, 1, 5) AS email_prefix
FROM employees;

 

결과: 각 직원의 이메일 주소에서 첫 5자를 추출합니다.

email_prefix
john.
jane.
emily

 

 

 

예시 3: LENGTH() 사용

SELECT LENGTH(first_name) AS name_length
FROM employees;

 

결과: 각 직원의 이름 길이를 반환합니다.

name_length
4
4
5

 

 

 

예시 4: UPPER() 및 LOWER() 사용

SELECT UPPER(last_name) AS upper_last_name, LOWER(first_name) AS lower_first_name
FROM employees;

 

결과: 성을 대문자로, 이름을 소문자로 변환합니다.

 
upper_last_name lower_first_name
DOE john
SMITH jane
DAVIS emily

 

 

 

예시 5: TRIM() 사용

SELECT TRIM('   John Doe   ') AS trimmed_name;
 

결과: 문자열의 앞뒤 공백을 제거합니다.

trimmed_name
John Doe

 

 

 

예시 6: REPLACE() 사용

SELECT REPLACE(email, 'example.com', 'mycompany.com') AS new_email
FROM employees;

 

결과: 이메일 주소의 도메인 부분을 변경합니다.

new_email
john.doe@mycompany.com
jane.smith@mycompany.com
emily.davis@mycompany.com

 

 

 

Good 사용법 

1. 데이터 정리 및 형식화: 문자열 함수를 사용하여 데이터를 정리하고 형식화할 수 있습니다.

    예를 들어, 이메일 주소에서 불필요한 공백을 제거하거나, 이름을 대문자로 통일하는 작업에 유용합니다.

SELECT TRIM(LOWER(first_name)) FROM employees;

 

2. 데이터 변환: 데이터를 특정 형식으로 변환할 때도 유용합니다.

    예를 들어, 전화번호 형식을 통일하거나 도메인 이름을 대체하는 작업이 가능합니다.

SELECT REPLACE(phone_number, '-', '') FROM customers;

 

 

Bad 사용법

1. 성능 문제: 매우 큰 문자열 데이터를 다룰 때 문자열 함수가 성능 문제를 야기할 수 있습니다.

    이러한 경우, 필요한 경우에만 함수를 사용하는 것이 좋습니다.

SELECT UPPER(large_text_column) FROM large_table;
 

2. 잘못된 데이터 변환: 문자열 함수를 사용하여 데이터를 잘못 변환할 수 있습니다.

    예를 들어, 모든 이름을 대문자로 변환하면 원래 데이터의 의도가 손상될 수 있습니다.

SELECT UPPER(name) FROM employees;  -- 이름이 원래의 형태를 잃음

 

 

 

SQL 문자열 함수는 데이터베이스에서 텍스트 데이터를 조작하고 변환하는 데 매우 유용한 도구입니다.

적절하게 사용하면 데이터를 더 정리되고 일관된 상태로 유지할 수 있습니다.

그러나 성능 문제나 데이터 손상 가능성을 염두에 두고 사용해야 합니다.

 

 

 

 

 

 

[DB] SQL 집계 함수 사용 방법 및 예제

SQL 집계 함수 기본 문법집계 함수는 여러 행의 값을 집계하여 단일 결과를 반환하는 함수입니다.자주 사용되는 집계 함수로는 COUNT(), SUM(), AVG(), MIN(), MAX() 등이 있습니다.이 함수들은 일반적으로

worldalltip.com

 

 

[DB] SQL REPLACE 함수, 문자열 변경

REPLACE 함수 기본 문법REPLACE 함수는 문자열 내에서 특정 문자열을 다른 문자열로 대체하는 데 사용됩니다. 기본 문법은 다음과 같습니다:REPLACE(original_string, substring_to_replace, replacement_

worldalltip.com

 

반응형