티스토리 뷰

Database

[Database] MySQL 내장 함수

daze1002 2025. 5. 18. 21:54
반응형

🧠 MySQL Built-in Functions 정리

주요 키워드: MySQL, 문자열 함수, 수학 함수, 내장 함수, ASCII, CONCAT, ROUND, MOD


1️⃣ 문자열 관련 함수

ASCII / CHAR

SELECT ASCII('A'), CHAR(65);
-- 65, 'A'

BIT_LENGTH / CHAR_LENGTH / LENGTH

SELECT BIT_LENGTH('pie'), CHAR_LENGTH('pie'), LENGTH('pie');
-- 24, 3, 3
SELECT menu_name, BIT_LENGTH(menu_name), CHAR_LENGTH(menu_name), LENGTH(menu_name)
FROM tbl_menu;
-- 각 메뉴 이름의 비트 수 / 문자 수 / 바이트 수 출력

CONCAT / CONCAT_WS

SELECT CONCAT('호랑이', '기린', '토끼');
-- '호랑이기린토끼'

SELECT CONCAT_WS(',', '호랑이', '기린', '토끼');
-- '호랑이,기린,토끼'

SELECT CONCAT_WS('-', '2023', '05', '31');
-- '2023-05-31'

ELT / FIELD / FIND_IN_SET / INSTR / LOCATE

SELECT 
    ELT(2, '사과', '딸기', '바나나'), 
    FIELD('딸기', '사과', '딸기', '바나나'), 
    FIND_IN_SET('바나나', '사과,딸기,바나나'), 
    INSTR('사과딸기바나나', '딸기'), 
    LOCATE('딸기', '사과딸기바나나');
-- '딸기', 2, 3, 3, 3

FORMAT

SELECT FORMAT(123142512521.5635326, 3);
-- '123,142,512,521.564'

BIN / OCT / HEX

SELECT BIN(65), OCT(65), HEX(65);
-- '1000001', '101', '41'

INSERT

SELECT INSERT('내 이름은 아무개입니다.', 7, 3, '홍길동');
-- '내 이름은 홍길동입니다.'

LEFT / RIGHT

SELECT LEFT('Hello World!', 3), RIGHT('Hello World!', 3);
-- 'Hel', 'd!'

LOWER / UPPER

SELECT LOWER('Hello World!'), UPPER('Hello World!');
-- 'hello world!', 'HELLO WORLD!'

LPAD / RPAD

SELECT LPAD('왼쪽', 6, '@'), RPAD('오른쪽', 6 ,'@');
-- '@@왼쪽', '오른쪽'

LTRIM / RTRIM

SELECT LTRIM('    왼쪽'), RTRIM('오른쪽    ');
-- '왼쪽', '오른쪽'

TRIM

SELECT TRIM('    MySQL    '), TRIM(BOTH '@' FROM '@@@@MySQL@@@@');
-- 'MySQL', 'MySQL'

REPEAT

SELECT REPEAT('재밌어', 3);
-- '재밌어재밌어재밌어'

REPLACE

SELECT REPLACE('마이SQL', '마이', 'My');
-- 'MySQL'

REVERSE

SELECT REVERSE('stressed');
-- 'desserts'

SPACE

SELECT CONCAT('제 이름은', SPACE(5), '이고 나이는', SPACE(3), '세입니다.');
-- '제 이름은     이고 나이는   세입니다.'

SUBSTRING

SELECT SUBSTRING('안녕하세요 반갑습니다.', 7, 2), SUBSTRING('안녕하세요 반갑습니다.', 7);
-- '반갑', '반갑습니다.'

SUBSTRING_INDEX

SELECT SUBSTRING_INDEX('hong.test@gmail.com', '.', 2), SUBSTRING_INDEX('hong.test@gmail.com', '.', -2);
-- 'hong.test', 'test@gmail.com'

2️⃣ 수학 관련 함수

ABS

SELECT ABS(-123);
-- 123

CEILING / FLOOR / ROUND

SELECT CEILING(1234.56), FLOOR(1234.56), ROUND(1234.56);
-- 1235, 1234, 1235

CONV

SELECT CONV('A', 16, 10), CONV('A', 16, 2), CONV(1010, 2, 8);
-- '10', '1010', '12'

MOD

SELECT MOD(75, 10), 75 % 10, 75 MOD 10;
-- 5, 5, 5

POW / SQRT

SELECT POW(2, 4), SQRT(16);
-- 16, 4

📎 참고 자료


'Database' 카테고리의 다른 글

[Database] SET  (0) 2025.05.18
[Database] JOIN  (0) 2025.05.18
[Database] data types  (0) 2025.05.18
[Database] DML  (0) 2025.05.18
[Database] GROUPING  (0) 2025.05.18