이 게시글은 얄팍한 코딩사전님의 '🔗 왕초보용! 갖고 노는 MySQL 데이터베이스 강좌'를 정리한 글입니다.
함수
숫자 관련 함수들
| 함수 | 설명 | 
| ROUND | 반올림 | 
| CEIL | 올림 | 
| FLOOR | 내림 | 
SELECT 
  ROUND(0.5),
  CEIL(0.2),
  FLOOR(0.7);
SELECT 
  Price,
  ROUND(price),
  CEIL(price),
  FLOOR(price)
FROM Products;
| 함수 | 설명 | 
| ABS | 절대값 | 
SELECT 
  ABS(-2),
  ABS(1),
  ABS(2 - 5);
| 함수 | 설명 | 
| GREATEST | {괄호 안에서} 가장 큰 값 | 
| LEAST | {괄호 안에서} 가장 작은 값 | 
SELECT 
  GREATEST(1, 2, 100),
  LEAST(-1, 5, 10);
그룹 함수
- 조건에 따라 집계된 값을 가져온다.
| 함수 | 설명 | 
| MAX | 가장 큰 값 | 
| MIN | 가장 작은 값 | 
| COUNT | 갯수 {NULL 값 제외) | 
| SUM | 총합 | 
| AVG | 평균 값 | 
SELECT 
  MAX(Price),
  MIN(Price),
  COUNT(Price),
  SUM(Price),
  AVG(Price)
FROM Products;
| 함수 | 설명 | 
| POW(A, B), POWER(A, B) | A를 B만큼 제곱 | 
| SQRT | 제곱근 | 
SELECT 
  POW(3, 2),
  POWER(2, 10),
  SQRT(4);
| 함수 | 설명 | 
| TRUNCATE(N, n) | N을 소수점 n자리까지 선택 | 
SELECT 
  TRUNCATE(1234.5678, 1),
  TRUNCATE(1234.5678, 2),
  TRUNCATE(1234.5678, -1),
  TRUNCATE(1234.5678, -2);
문자열 관련 함수들
| 함수 | 설명 | 
| UCASE, UPPER | 모두 대문자로 | 
| LCASE, LOWER | 모두 소문자로 | 
SELECT 
  UPPER('HEllo'),
  LOWER('HEllo');
| 함수 | 설명 | 
| CONCAT(...) | 괄호 안의 내용 이어붙임 | 
| CONCAT_WS(S, ...) | 괄호 안의 내용 S로 이어붙임 | 
SELECT 
  CONCAT('I ', 'STUDY ', 'CODING');
SELECT 
  CONCAT_WS('_', 'I', 'STUDY', 'CODING');
| 함수 | 설명 | 
| SUBSTR, SUBSTRING | 주어진 값에 따라 문자열 자름 | 
| LEFT | 왼쪽부터 N글자 | 
| RIGHT | 오른쪽부터 N글자 | 
SELECT 
  SUBSTR('HELLO', 3),
  SUBSTRING('HELLO WORLD', 7);- 주어진 숫자 위치부터 문자열을 읽어온다.

SELECT 
  LEFT('HELLO', 3),
  RIGHT('HELLO', 2);
| 함수 | 설명 | 
| LENGTH | 문자열의 바이트 길이 | 
| CHAR_LENGTH, CHARACTER_LENGTH | 문자열의 문자 길이 | 
SELECT 
  LENGTH('HELLO'),
  CHAR_LENGTH('HELLO'),
  CHARACTER_LENGTH('HELLO');
SELECT 
  LENGTH('안녕하세요'), -- 15 (한 글자당, 3byte)
  CHAR_LENGTH('안녕하세요'), -- 5
  CHARACTER_LENGTH('안녕하세요'); -- 5
| 함수 | 설명 | 
| TRIM | 양쪽 공백 제거 | 
| LTRIM | 왼쪽 공백 제거 | 
| RTRIM | 오른쪽 공백 제거 | 
SELECT 
  CONCAT('|', '  HELLO  ', '|'),
  CONCAT('|', LTRIM('  HELLO  '), '|'),
  CONCAT('|', RTRIM('  HELLO  '), '|'),
  CONCAT('|', TRIM('  HELLO  '), '|');
| 함수 | 설명 | 
| LPAD(S, N, P) | S가 N글자가 될 때까지 P를 이어붙임 | 
| RPAD(S, N, P) | S가 N글자가 될 때까지 P를 이어붙임 | 
SELECT 
  LPAD('MA', 4, '_'),
  RPAD('MA', 4, 'L');
| 함수 | 설명 | 
| REPLACE(S, A, B) | S중 A를 B로 변경 | 
SELECT
  REPLACE('내가 그린 그림은 기린 그림, 나는 기린이 좋다.', '기린', '곰');
| 함수 | 설명 | 
| INSTR(S, s) | S 중 s의 첫 위치 반환, 없을 시 0 | 
SELECT
  INSTR('HELLO', 'H'),
  INSTR('HELLO', 'HEL'),
  INSTR('HELLO', 'O'),
  INSTR('HELLO', 'Z');- 없는 문자는 0으로 반환

| 함수 | 설명 | 
| CAST(A, T) | A를 T 자료형으로 변환 | 
SELECT
  '01' = '1',
  CONVERT('01', DECIMAL) = CONVERT('1', DECIMAL);
'Computer Science > Database' 카테고리의 다른 글
| [SQL/MySQL] Window 함수로 큰 값/작은 값 조회하기 (1) | 2023.04.20 | 
|---|---|
| [MySQL] GROUP BY 주의사항 (0) | 2023.03.29 | 
| [MySQL] MAX 함수 (0) | 2023.03.26 | 
| [MySQL] 가장 최근 날짜 조회하기 (0) | 2023.03.26 | 
| [SQL/Oracle] NULL 조회하기 (0) | 2023.03.09 | 
