๐ MySQL ํจ์ ๋ ํผ๋ฐ์ค
์์ฃผ ์ฐ๋ ํจ์๋ค์ ์นดํ
๊ณ ๋ฆฌ๋ณ๋ก ์ ๋ฆฌํด ๋ดค์ต๋๋ค ๐
์ ๋ ๋ณผ๊ฒธ... ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค์!
๐ค ๋ฌธ์์ด ํจ์
| ํจ์ |
์ค๋ช
|
์์ |
| CONCAT(a, b, ...) |
๋ฌธ์์ด ์ฐ๊ฒฐ |
CONCAT('Hello', ' ', 'World') โ Hello World |
| CONCAT_WS(sep, a, b, ...) |
๊ตฌ๋ถ์ ํฌํจ ๋ฌธ์์ด ์ฐ๊ฒฐ |
CONCAT_WS('-', '2026', '03', '20') โ 2026-03-20 |
| LENGTH(str) |
๋ฐ์ดํธ ์ ๋ฐํ |
LENGTH('ํ๊ธ') โ 6 |
| CHAR_LENGTH(str) |
๋ฌธ์ ์ ๋ฐํ |
CHAR_LENGTH('ํ๊ธ') โ 2 |
| UPPER(str) / UCASE(str) |
๋๋ฌธ์ ๋ณํ |
UPPER('hello') โ HELLO |
| LOWER(str) / LCASE(str) |
์๋ฌธ์ ๋ณํ |
LOWER('HELLO') โ hello |
| SUBSTR(str, pos, len) |
๋ฌธ์์ด ์ถ์ถ |
SUBSTR('abcdef', 2, 3) โ bcd |
| LEFT(str, n) |
์ผ์ชฝ์์ n๊ธ์ ์ถ์ถ |
LEFT('abcdef', 3) โ abc |
| RIGHT(str, n) |
์ค๋ฅธ์ชฝ์์ n๊ธ์ ์ถ์ถ |
RIGHT('abcdef', 3) โ def |
| INSTR(str, substr) |
ํน์ ๋ฌธ์ ์์น ๋ฐํ |
INSTR('hello', 'l') โ 3 |
| LOCATE(substr, str) |
ํน์ ๋ฌธ์ ์์น ๋ฐํ (์ธ์ ์์ ๋ฐ๋) |
LOCATE('l', 'hello') โ 3 |
| INSERT(str, pos, len, new) |
ํน์ ์์น ๋ฌธ์์ด ๊ต์ฒด |
INSERT('abcdef', 2, 3, 'XYZ') โ aXYZef |
| REPLACE(str, from, to) |
ํน์ ๋ฌธ์์ด ๊ต์ฒด |
REPLACE('aabbcc', 'bb', 'XX') โ aaXXcc |
| REPEAT(str, n) |
๋ฌธ์์ด n๋ฒ ๋ฐ๋ณต |
REPEAT('ab', 3) โ ababab |
| SUBSTRING_INDEX(str, delim, n) |
๊ตฌ๋ถ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ์๋ฅด๊ธฐ |
SUBSTRING_INDEX('a,b,c', ',', 2) โ a,b |
| TRIM(str) |
์๋ค ๊ณต๋ฐฑ ์ ๊ฑฐ |
TRIM(' hi ') โ hi |
| LTRIM(str) |
์ผ์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ |
LTRIM(' hi ') โ hi |
| RTRIM(str) |
์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ |
RTRIM(' hi ') โ hi |
| SPACE(n) |
n๊ฐ์ ๊ณต๋ฐฑ ๋ฐํ |
SPACE(3) โ |
| LPAD(str, len, pad) |
์ผ์ชฝ์ ๋ฌธ์ ์ฑ์ฐ๊ธฐ |
LPAD('5', 3, '0') โ 005 |
| RPAD(str, len, pad) |
์ค๋ฅธ์ชฝ์ ๋ฌธ์ ์ฑ์ฐ๊ธฐ |
RPAD('5', 3, '0') โ 500 |
| FORMAT(num, d) |
์ซ์๋ฅผ ํฌ๋งท ๋ฌธ์์ด๋ก ๋ณํ |
FORMAT(1000000, 0) โ 1,000,000 |
| REVERSE(str) |
๋ฌธ์์ด ๋ค์ง๊ธฐ |
REVERSE('abc') โ cba |
| STRCMP(s1, s2) |
๋ฌธ์์ด ๋น๊ต |
STRCMP('abc', 'abc') โ 0 |
๐
๋ ์ง ํจ์
| ํจ์ |
์ค๋ช
|
์์ |
| CURDATE() |
ํ์ฌ ๋ ์ง ๋ฐํ |
2026-03-20 |
| CURTIME() |
ํ์ฌ ์๊ฐ ๋ฐํ |
14:30:00 |
| NOW() |
ํ์ฌ ๋ ์ง + ์๊ฐ ๋ฐํ |
2026-03-20 14:30:00 |
| YEAR(date) |
์ฐ๋ ์ถ์ถ |
YEAR('2026-03-20') โ 2026 |
| MONTH(date) |
์ ์ถ์ถ |
MONTH('2026-03-20') โ 3 |
| MONTHNAME(date) |
์ ์ด๋ฆ ๋ฐํ |
MONTHNAME('2026-03-20') โ March |
| DAY(date) |
์ผ ์ถ์ถ |
DAY('2026-03-20') โ 20 |
| HOUR(time) |
์ ์ถ์ถ |
HOUR('14:30:00') โ 14 |
| MINUTE(time) |
๋ถ ์ถ์ถ |
MINUTE('14:30:00') โ 30 |
| DAYNAME(date) |
์์ผ ์ด๋ฆ ๋ฐํ |
DAYNAME('2026-03-20') โ Thursday |
| DAYOFWEEK(date) |
์์ผ ์ซ์ ๋ฐํ (์ผ=1) |
DAYOFWEEK('2026-03-20') โ 5 |
| WEEK(date) |
ํด๋น ์ฐ๋์ ๋ช ๋ฒ์งธ ์ฃผ์ธ์ง ๋ฐํ |
WEEK('2026-03-20') โ 12 |
| QUARTER(date) |
๋ถ๊ธฐ ๋ฐํ (1~4) |
QUARTER('2026-03-20') โ 1 |
| DATE_ADD(date, INTERVAL n unit) |
๋ ์ง ๋ํ๊ธฐ |
DATE_ADD(CURDATE(), INTERVAL 1 YEAR) |
| DATE_SUB(date, INTERVAL n unit) |
๋ ์ง ๋นผ๊ธฐ |
DATE_SUB(CURDATE(), INTERVAL 10 DAY) |
| DATEDIFF(d1, d2) |
๋ ์ง ์ฐจ์ด (์ผ ์) |
DATEDIFF('2026-12-31', CURDATE()) |
| TIMEDIFF(t1, t2) |
๋ ์๊ฐ์ ์ฐจ์ด ๋ฐํ |
TIMEDIFF('14:30:00', '12:00:00') โ 02:30:00 |
| DATE_FORMAT(date, format) |
๋ ์ง ํ์ ์ง์ |
DATE_FORMAT(NOW(), '%Y๋
%m์ %d์ผ') |
| STR_TO_DATE(str, format) |
๋ฌธ์์ด์ ๋ ์ง๋ก ๋ณํ |
STR_TO_DATE('20-03-2026', '%d-%m-%Y') โ 2026-03-20 |
| EXTRACT(unit FROM date) |
๋ ์ง์์ ํน์ ๋จ์ ์ถ์ถ |
EXTRACT(MONTH FROM '2026-03-20') โ 3 |
| LAST_DAY(date) |
ํด๋น ์์ ๋ง์ง๋ง ๋ ๋ฐํ |
LAST_DAY('2026-03-20') โ 2026-03-31 |
| TIMESTAMPDIFF(unit, d1, d2) |
๋ ๋ ์ง ์ฐจ์ด๋ฅผ ๋จ์๋ก ๋ฐํ |
TIMESTAMPDIFF(YEAR, birthday, NOW()) |
๐ธ DATE_FORMAT ์ฃผ์ ํฌ๋งท ์ฝ๋
| ์ฝ๋ |
์ค๋ช
|
์์ |
| %Y |
4์๋ฆฌ ์ฐ๋ |
2026 |
| %m |
2์๋ฆฌ ์ |
03 |
| %c |
1~2์๋ฆฌ ์ |
3 |
| %d |
2์๋ฆฌ ์ผ |
20 |
| %H |
24์๊ฐ์ ์ |
14 |
| %i |
๋ถ |
30 |
| %s |
์ด |
00 |
| %W |
์์ผ ์ ์ฒด ์ด๋ฆ |
Thursday |
| %a |
์์ผ ์ถ์ฝ |
Thu |
๐ธ INTERVAL ์ฃผ์ ๋จ์
| ๋จ์ |
์๋ฏธ |
์์ |
| YEAR |
๋
|
INTERVAL 1 YEAR โ 1๋
ํ |
| MONTH |
์ |
INTERVAL 3 MONTH โ 3๊ฐ์ ํ |
| DAY |
์ผ |
INTERVAL 10 DAY โ 10์ผ ํ |
| HOUR |
์ |
INTERVAL 2 HOUR โ 2์๊ฐ ํ |
| MINUTE |
๋ถ |
INTERVAL 30 MINUTE โ 30๋ถ ํ |
| SECOND |
์ด |
INTERVAL 30 SECOND โ 30์ด ํ |
๐ข ์ซ์ ํจ์
| ํจ์ |
์ค๋ช
|
์์ |
| ROUND(num, d) |
๋ฐ์ฌ๋ฆผ |
ROUND(3.567, 2) โ 3.57 |
| FLOOR(num) |
๋ด๋ฆผ |
FLOOR(3.9) โ 3 |
| CEIL(num) |
์ฌ๋ฆผ |
CEIL(3.1) โ 4 |
| ABS(num) |
์ ๋๊ฐ |
ABS(-5) โ 5 |
| MOD(a, b) |
๋๋จธ์ง |
MOD(10, 3) โ 1 |
| SQRT(num) |
์ ๊ณฑ๊ทผ |
SQRT(9) โ 3 |
| RAND() |
0~1 ์ฌ์ด ๋์ ๋ฐํ |
RAND() โ 0.723... |
| TRUNCATE(num, d) |
์์์ ์ดํ ๋ฒ๋ฆผ |
TRUNCATE(3.999, 1) โ 3.9 |
| POW(x, y) |
x์ y์ ๊ณฑ |
POW(2, 3) โ 8 |
| GREATEST(a, b, ...) |
์ฌ๋ฌ ๊ฐ ์ค ์ต๋๊ฐ |
GREATEST(3, 7, 5) โ 7 |
| LEAST(a, b, ...) |
์ฌ๋ฌ ๊ฐ ์ค ์ต์๊ฐ |
LEAST(3, 7, 5) โ 3 |
| SIGN(num) |
์์ 1, 0์ 0, ์์ -1 ๋ฐํ |
SIGN(-5) โ -1 |
| PI() |
ํ์ด๊ฐ ๋ฐํ |
PI() โ 3.141593 |
| LOG(x) / LOG(b, x) |
์์ฐ๋ก๊ทธ / ๋ฐ์ด b์ธ ๋ก๊ทธ |
LOG(100, 10) โ 2 |
| EXP(x) |
e์ x์ ๊ณฑ |
EXP(1) โ 2.718... |
๐ ๏ธ NULL ์ฒ๋ฆฌ ํจ์
| ํจ์ |
์ค๋ช
|
์์ |
| IFNULL(val, replace) |
NULL์ด๋ฉด ๋์ฒด๊ฐ ๋ฐํ |
IFNULL(NULL, 0) โ 0 |
| NULLIF(a, b) |
a์ b๊ฐ ๊ฐ์ผ๋ฉด NULL ๋ฐํ |
NULLIF(0, 0) โ NULL |
| COALESCE(v1, v2, ...) |
์ฒซ ๋ฒ์งธ non-NULL ๊ฐ ๋ฐํ |
COALESCE(NULL, NULL, 3) โ 3 |
โ๏ธ ๊ธฐํ ํจ์
| ํจ์ |
์ค๋ช
|
์์ |
| IF(cond, true, false) |
์กฐ๊ฑด ๋ถ๊ธฐ |
IF(score >= 60, 'ํฉ๊ฒฉ', '๋ถํฉ๊ฒฉ') |
| CAST(val AS type) |
ํ์
๋ณํ |
CAST('123' AS UNSIGNED) โ 123 |
| CONVERT(val, type) |
ํ์
/๋ฌธ์์
๋ณํ |
CONVERT('123', UNSIGNED) โ 123 |
| DATABASE() |
ํ์ฌ ์ฌ์ฉ ์ค์ธ DB๋ช
๋ฐํ |
DATABASE() โ mydb |
| USER() |
ํ์ฌ ์ ์ ์ฌ์ฉ์ ๋ฐํ |
USER() โ root@localhost |
| VERSION() |
MySQL ๋ฒ์ ๋ฐํ |
VERSION() โ 8.0.33 |
| UUID() |
๊ณ ์ ์๋ณ์ ์์ฑ |
UUID() โ 550e8400-e29b-... |
๐ ์ฐธ๊ณ ์๋ฃ
-
- ํ์ฌ๊ธMySQL ํจ์ ๋ชจ์
-