이 게시글은 얄팍한 코딩사전님의 '🔗 왕초보용! 갖고 노는 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 |
이 게시글은 얄팍한 코딩사전님의 '🔗 왕초보용! 갖고 노는 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 |