IT

MySQL 함수(FUNCTION)

carnival6103 2025. 1. 30. 22:36
반응형

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