반응형
MySQL에는 다양한 내장 함수들이 있으며, 이 함수들은 데이터를 처리하고 가공하는 데 매우 유용합니다. 여기서는 주요 내장 함수들을 카테고리별로 정리하고, 각 함수의 예시를 포함하여 설명해 드리겠습니다.
1. 문자열 함수 (String Functions)
- ASCII: 문자열의 첫 번째 문자의 ASCII 값을 반환합니다.
SELECT ASCII('A') AS ascii_value;
-- 결과: 65
- CHAR: ASCII 값을 문자로 변환합니다.
SELECT CHAR(65) AS char_value;
-- 결과: 'A'
- CONCAT: 문자열을 결합합니다.
SELECT CONCAT('Hello', ' ', 'World') AS concatenated_string;
-- 결과: 'Hello World'
- INSTR: 문자열 내에서 특정 문자열의 위치를 반환합니다.
SELECT INSTR('MySQL Database', 'Database') AS position;
-- 결과: 7
- LCASE: 문자열을 소문자로 변환합니다.
SELECT LCASE('HELLO WORLD') AS lower_case_string;
-- 결과: 'hello world'
- UCASE: 문자열을 대문자로 변환합니다.
SELECT UCASE('hello world') AS upper_case_string;
-- 결과: 'HELLO WORLD'
- LEFT: 문자열의 왼쪽에서 지정된 개수만큼 문자를 반환합니다.
SELECT LEFT('MySQL Database', 5) AS left_string;
-- 결과: 'MySQL'
- RIGHT: 문자열의 오른쪽에서 지정된 개수만큼 문자를 반환합니다.
SELECT RIGHT('MySQL Database', 8) AS right_string;
-- 결과: 'Database'
- REPLACE: 문자열 내의 특정 문자열을 다른 문자열로 대체합니다.
SELECT REPLACE('MySQL Database', 'Database', 'DB') AS replaced_string;
-- 결과: 'MySQL DB'
2. 숫자 함수 (Number Functions)
- ABS: 절대값을 반환합니다.
SELECT ABS(-10) AS absolute_value;
-- 결과: 10
- CEILING: 소수점을 올림합니다.
SELECT CEILING(4.3) AS ceiling_value;
-- 결과: 5
- FLOOR: 소수점을 내림합니다.
SELECT FLOOR(4.7) AS floor_value;
-- 결과: 4
- ROUND: 숫자를 지정된 소수점 자리로 반올림합니다.
SELECT ROUND(123.456, 2) AS rounded_value;
-- 결과: 123.46
- TRUNCATE: 숫자를 지정된 소수점 자리로 자릅니다.
SELECT TRUNCATE(123.456, 2) AS truncated_value;
-- 결과: 123.45
- POW: 거듭제곱 값을 반환합니다.
SELECT POW(2, 3) AS power_value;
-- 결과: 8
- MOD: 나머지를 반환합니다.
SELECT MOD(10, 3) AS mod_value;
-- 결과: 1
- GREATEST: 가장 큰 값을 반환합니다.
SELECT GREATEST(10, 20, 5, 30) AS greatest_value;
-- 결과: 30
- LEAST: 가장 작은 값을 반환합니다.
SELECT LEAST(10, 20, 5, 30) AS least_value;
-- 결과: 5
- RAND: 난수를 생성합니다.
SELECT RAND() AS random_value;
-- 결과: 0과 1 사이의 난수 (예: 0.345679)
3. 날짜 함수 (Date Functions)
- CURDATE: 현재 날짜를 반환합니다.
SELECT CURDATE() AS current_date;
-- 결과: 현재 날짜 (예: 2025-01-30)
- CURTIME: 현재 시간을 반환합니다.
SELECT CURTIME() AS current_time;
-- 결과: 현재 시간 (예: 22:30:00)
- NOW: 현재 날짜와 시간을 반환합니다.
SELECT NOW() AS current_datetime;
-- 결과: 현재 날짜와 시간 (예: 2025-01-30 22:30:00)
- DATE_ADD: 날짜에 지정된 간격을 더합니다.
SELECT DATE_ADD('2025-01-30', INTERVAL 10 DAY) AS new_date;
-- 결과: 2025-02-09
- DATE_SUB: 날짜에서 지정된 간격을 뺍니다.
SELECT DATE_SUB('2025-01-30', INTERVAL 10 DAY) AS new_date;
-- 결과: 2025-01-20
- DATEDIFF: 두 날짜 사이의 일 수를 반환합니다.
SELECT DATEDIFF('2025-01-30', '2025-01-01') AS days_difference;
-- 결과: 29
- DAY: 날짜의 일을 반환합니다.
SELECT DAY('2025-01-30') AS day_value;
-- 결과: 30
- MONTH: 날짜의 월을 반환합니다.
SELECT MONTH('2025-01-30') AS month_value;
-- 결과: 1
- YEAR: 날짜의 연도를 반환합니다.
SELECT YEAR('2025-01-30') AS year_value;
-- 결과: 2025
4. 변환 함수 (Conversion Functions)
- CAST: 데이터 타입을 변환합니다.
SELECT CAST('123' AS UNSIGNED) AS number_value;
-- 결과: 123
- CONVERT: 데이터 타입을 변환합니다.
SELECT CONVERT('2025-01-30', DATE) AS date_value;
-- 결과: 2025-01-30
5. 제어 흐름 함수 (Control Flow Functions)
- IF: 조건에 따라 다른 값을 반환합니다.
SELECT IF(1 > 0, 'True', 'False') AS result;
-- 결과: 'True'
- IFNULL: 첫 번째 인자가 NULL이면 두 번째 인자를 반환합니다.
SELECT IFNULL(NULL, 'Default') AS result;
-- 결과: 'Default'
- CASE: 조건에 따라 여러 값을 반환합니다.
SELECT CASE
WHEN 1 > 0 THEN 'True'
ELSE 'False'
END AS result;
-- 결과: 'True'
6. 집계 함수 (Aggregate Functions)
- SUM: 열의 합계를 구합니다.
SELECT SUM(salary) AS total_salary FROM employees;
-- 결과: 모든 직원의 급여 합계
- AVG: 열의 평균을 구합니다.
SELECT AVG(salary) AS average_salary FROM employees;
-- 결과: 모든 직원의 평균 급여
- COUNT: 열의 개수를 셉니다.
SELECT COUNT(*) AS employee_count FROM employees;
-- 결과: 직원 수
- MAX: 열의 최대값을 구합니다.
SELECT MAX(salary) AS max_salary FROM employees;
-- 결과: 가장 높은 급여
- MIN: 열의 최소값을 구합니다.
SELECT MIN(salary) AS min_salary FROM employees;
-- 결과: 가장 낮은 급여
이 예시들이 MySQL의 다양한 내장 함수를 이해하고 활용하는 데 도움이 되길 바랍니다. 더 궁금한 점이 있으면 언제든지 물어보세요! 😊
반응형
'IT' 카테고리의 다른 글
파이썬 변수 유형 (0) | 2025.02.01 |
---|---|
파이썬 변수 선언 및 출력 (0) | 2025.02.01 |
오라클 함수(FUNCTION) (0) | 2025.01.30 |
파이썬 MYSQL 로그인 예제 (0) | 2025.01.30 |
파이썬 개발환경 설치 가이드 (1) | 2025.01.25 |