MySQL은 데이터 조회, 조작, 분석 등 다양한 작업을 수행하는 데 사용되는 강력한 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 데이터 처리 과정에서 각 행의 값을 변환, 조작하거나 특정 정보를 추출하는 등의 작업이 필요할 수 있습니다. 이러한 작업을 효율적으로 수행하기 위해 MySQL은 단일행 함수라는 다양한 함수를 제공합니다.
1. 단일행 함수 개요
단일행 함수는 각 행의 값을 하나의 결과 값으로 변환하는 함수입니다. 즉, 입력으로 하나의 행을 받고, 해당 행의 특정 값을 추출하거나 변환하여 단일 결과 값을 반환합니다.
단일행 함수는 다음과 같은 주요 특징을 가지고 있습니다.
입력: 단일 행
출력: 단일 값
데이터 변환: 문자열, 숫자, 날짜 등 다양한 데이터 유형 변환 가능
데이터 조작: 계산, 결합, 비교 등 다양한 조작 수행 가능
정보 추출: 특정 값 추출, 요약 정보 계산 등 정보 추출 가능
2. 대표적인 단일행 함수 종류
MySQL은 다양한 단일행 함수를 제공하며, 각 함수는 특정한 목적을 수행하도록 설계되었습니다. 대표적인 단일행 함수 종류와 활용 예시는 다음과 같습니다.
1) 문자열 함수:
UPPER(): 문자열을 대문자로 변환합니다.
LOWER(): 문자열을 소문자로 변환합니다.
LEFT(): 문자열의 왼쪽에서 지정된 수의 문자를 추출합니다.
RIGHT(): 문자열의 오른쪽에서 지정된 수의 문자를 추출합니다.
SUBSTRING(): 문자열의 특정 위치에서 지정된 수의 문자를 추출합니다.
TRIM(): 문자열 앞뒤 공백을 제거합니다.
CONCAT(): 두 개 이상의 문자열을 연결합니다.
REPLACE(): 문자열 내 지정된 문자열을 다른 문자열로 바꿉니다.
LENGTH(): 문자열 길이를 반환합니다.
예시:
SQL
SELECT UPPER(name) FROM customers; -- 고객 이름을 대문자로 변환
SELECT LEFT(phone_number, 3) FROM orders; -- 주문 번호의 처음 3자리 추출
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees; -- 직원 이름 연결
2) 숫자 함수:
ABS(): 절대값을 반환합니다.
ROUND(): 소수점 자릿수를 반올림합니다.
FLOOR(): 소수점 아래를 버리고 정수 부분만 반환합니다.
CEIL(): 소수점 위를 올림하고 정수 부분만 반환합니다.
POWER(): 지수 연산을 수행합니다.
SQRT(): 제곱근을 계산합니다.
RAND(): 0에서 1 사이의 난수를 생성합니다.
예시:
SQL
SELECT ABS(balance) FROM accounts; -- 계좌 잔액의 절대값
SELECT ROUND(price, 2) AS discounted_price; -- 가격을 소수점 두 자리까지 반올림
SELECT FLOOR(sales_amount) AS total_sales; -- 매출액의 소수점 아래 버림
3) 날짜 함수:
CURDATE(): 현재 날짜를 반환합니다.
CURRENT_TIME(): 현재 시간을 반환합니다.
NOW(): 현재 날짜와 시간을 반환합니다.
DATE_FORMAT(): 날짜 형식을 변환합니다.
STR_TO_DATE(): 문자열을 날짜 형식으로 변환합니다.
DATEDIFF(): 두 날짜 사이의 일수 차이를 계산합니다.
예시:
SQL
SELECT CURDATE(); -- 현재 날짜 출력
SELECT DATE_FORMAT(order_date, '%Y-%m-%d') AS formatted_date; --
3. 단일행 함수 활용 사례
단일행 함수는 데이터 조회, 조작, 분석 등 다양한 작업에서 활용될 수 있습니다. 몇 가지 실제 활용 사례를 살펴보겠습니다.
1) 고객 데이터 분석:
고객 이름을 대문자로 변환하여 정렬 및 출력
주문 번호의 처음 3자리 추출하여 주문 집계 분석
고객 이름과 성을 연결하여 전체 이름 출력
고객별 구매 금액 계산 및 순위付け
최근 주문 날짜 추출 및 분석
2) 상품 데이터 관리:
상품 이름을 소문자로 변환하여 검색 및 출력
상품 설명에서 특정 단어 제거
상품 가격을 할인율에 따라 계산
상품 재고 관리 및 알림 설정
인기 상품 분석 및 추천
3) 직원 데이터 처리:
직원 이름과 성을 연결하여 전체 이름 출력
직원 연락처 정보 추출 및 정리
직원 근무 기간 계산
부서별 직원 수 집계
급여 계산 및 지급
4) 기타 활용:
데이터베이스 테이블에서 특정 값 검색 및 추출
데이터 요약 및 통계 계산
데이터 시각화 및 보고서 작성
데이터 기반 의사 결정 지원
4. 단일행 함수 사용 팁
적절한 함수 선택: 필요한 작업에 맞는 함수를 선택하는 것이 중요합니다.
여러 함수 조합: 여러 단일행 함수를 조합하여 원하는 결과를 얻을 수 있습니다.
조건 활용: WHERE 절과 함께 단일행 함수를 사용하여 특정 조건에 맞는 결과를 추출할 수 있습니다.
서브쿼리 활용: 서브쿼리에서 단일행 함수를 사용하여 더욱 복잡한 데이터 처리를 수행할 수 있습니다.
댓글 영역