MySQL 데이터베이스 시스템은 복잡한 쿼리 작성 없이 데이터 처리를 간소화하는 다양한 내장 함수를 제공합니다. 이 함수들은 수학 연산, 문자열 조작, 날짜 관리 등 다양한 작업에 활용됩니다.
함수 유형 분류
주요 분류는 다음과 같습니다:
- 수학 함수: 절대값 계산, 제곱근 추출, 삼각함수 처리 등
- 문자열 함수: 문자열 결합, 길이 측정, 변환 작업 등
- 날짜/시간 함수: 현재 시점 확인, 포맷팅, 차이 계산 등
- 집계 함수: 행 수 세기, 합계/평균/최대/최소 계산 등
- 보조 함수: 시스템 정보 반환, 암호화 처리 등
핵심 함수 사용 예시
수학 관련 함수
1. ABS(value)
설명: 입력값의 절대값을 반환
예제:
SELECT absolute_value(-456);
2. SQRT(number)
설명: 입력값의 제곱근을 계산
예제:
SELECT square_root(25);
3. ROUND(val, decimal)
설명: 소수점 자릿수에 따라 반올림
예제:
SELECT round_value(3.141592653, 2);
4. CEIL(num)
설명: 입력값 이상의 최소 정수 반환
예제:
SELECT ceiling_value(4.2);
5. FLOOR(num)
설명: 입력값 이하의 최대 정수 반환
예제:
SELECT floor_value(4.9);
6. MOD(a, b)
설명: a를 b로 나눈 나머지 계산
예제:
SELECT remainder(100, 7);
문자열 처리 함수
1. CONCAT(str1, str2)
설명: 여러 문자열을 연결
예제:
SELECT combine_strings('안녕', '하세요');
2. LENGTH(text)
설명: 문자열의 길이 반환
예제:
SELECT string_length('Hello World');
3. UPPER(text)
설명: 소문자를 대문자로 변환
예제:
SELECT to_uppercase('hello');
4. LOWER(text)
설명: 대문자를 소문자로 변환
예제:
SELECT to_lowercase('WORLD');
5. SUBSTRING(str, start, length)
설명: 지정된 위치에서 문자열 추출
예제:
SELECT extract_part('JavaScript', 2, 3);
날짜/시간 함수
1. NOW()
설명: 현재 날짜와 시간 반환
예제:
SELECT current_datetime();
2. CURDATE()
설명: 현재 날짜만 반환
예제:
SELECT today_date();
3. DATE_FORMAT(date, format)
설명: 지정된 형식으로 날짜 출력
예제:
SELECT formatted_date(NOW(), 'YYYY-MM-DD');
집계 함수
1. COUNT(*)
설명: 레코드 수 세기
2. SUM(column)
설명: 특정 열의 합계 계산
3. AVG(column)
설명: 특정 열의 평균값 계산
4. MAX(column)
설명: 특정 열의 최대값 반환
5. MIN(column)
설명: 특정 열의 최소값 반환
시스템 정보 함수
1. USER()
설명: 현재 사용자 식별자 반환
예제:
SELECT current_user_info();
2. VERSION()
설명: 서버 버전 확인
예제:
SELECT server_version();
3. DATABASE()
설명: 현재 데이터베이스 이름 반환
예제:
SELECT active_database();
암호화 함수
1. PASSWORD(str)
설명: 비밀번호 해시 생성
예제:
SELECT hash_password('secure123');
2. MD5(str)
설명: 문자열의 MD5 해시 값 반환
예제:
SELECT generate_md5('test');
3. SHA1(str)
설명: 문자열의 SHA1 해시 값 계산
예제:
SELECT generate_sha1('data');