๐Ÿฆญ BUILD IN FUNCTIONS

๋‚˜๋‚˜'s Brainยท2024๋…„ 7์›” 9์ผ

MariaDB

๋ชฉ๋ก ๋ณด๊ธฐ
12/15
post-thumbnail

๐Ÿ“ BUILD IN FUNCTIONS

๐Ÿ’ก MySQL์€ ๋ฌธ์ž์—ด, ์ˆซ์ž, ๋‚ ์งœ, ์‹œ๊ฐ„์— ๊ด€ํ•œ ๋‹ค์–‘ํ•œ ์ž‘์—… ์ˆ˜ํ–‰์— ๋งŽ์€ ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

๐Ÿ”– ๋ฌธ์ž์—ด ๊ด€๋ จ ํ•จ์ˆ˜

โžก๏ธ ASCII(์•„์Šคํ‚ค ์ฝ”๋“œ), CHAR(์ˆซ์ž)

ASCII: ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’ ์ถ”์ถœ
CHAR: ์•„์Šคํ‚ค ์ฝ”๋“œ๋กœ ๋ฌธ์ž ์ถ”์ถœ

Workbench์˜ ๋ฒ„๊ทธ๋กœ CHAR(65)์˜ ๊ฒฐ๊ณผ๊ฐ€ 'BLOB'์œผ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ผ๋ฐ˜ ๋ช…๋ นํ˜• ๋ชจ๋“œ์—์„œ๋Š” ์ •์ƒ์ ์œผ๋กœ 'A'๋กœ ์ถœ๋ ฅ๋œ๋‹ค. 'BLOB' ๊ธ€์ž์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ ํด๋ฆญํ•˜๊ณ  'Open Value in Viewer' ์„ ํƒ ํ›„ Text ํƒญ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

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

โžก๏ธ BIT_LENGTH(๋ฌธ์ž์—ด), CHAR_LENGTH(๋ฌธ์ž์—ด), LENGTH(๋ฌธ์ž์—ด)

BIT_LENGTH: ํ• ๋‹น๋œ ๋น„ํŠธ ํฌ๊ธฐ ๋ฐ˜ํ™˜
CHAR_LENGTH: ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ๋ฐ˜ํ™˜
LENGTH: ํ• ๋‹น๋œ BYTE ํฌ๊ธฐ ๋ฐ˜ํ™˜

    SELECT BIT_LENGTH('pie'), CHAR_LENGTH('pie'), LENGTH('pie');
    SELECT menu_name, BIT_LENGTH(menu_name), CHAR_LENGTH(menu_name), LENGTH(menu_name) from tbl_menu;

โžก๏ธ CONCAT(๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...), CONCAT_WS(๊ตฌ๋ถ„์ž, ๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...)

CONCAT: ๋ฌธ์ž์—ด์„ ์ด์–ด๋ถ™์ž„
CONCAT_WS: ๊ตฌ๋ถ„์ž์™€ ํ•จ๊ป˜ ๋ฌธ์ž์—ด์„ ์ด์–ด๋ถ™์ž„

SELECT CONCAT('ํ˜ธ๋ž‘์ด', '๊ธฐ๋ฆฐ', 'ํ† ๋ผ');
SELECT CONCAT_WS(',', 'ํ˜ธ๋ž‘์ด', '๊ธฐ๋ฆฐ', 'ํ† ๋ผ');
SELECT CONCAT_WS('-', '2023', '05', '31');

โžก๏ธ ELT(์œ„์น˜, ๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...), FIELD(์ฐพ์„ ๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...), FIND_IN_SET(์ฐพ์„ ๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ), INSTR(๊ธฐ์ค€ ๋ฌธ์ž์—ด, ๋ถ€๋ถ„ ๋ฌธ์ž์—ด), LOCATE(๋ถ€๋ถ„ ๋ฌธ์ž์—ด, ๊ธฐ์ค€ ๋ฌธ์ž์—ด)

ELT: ํ•ด๋‹น ์œ„์น˜์˜ ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜
FIELD: ์ฐพ์„ ๋ฌธ์ž์—ด ์œ„์น˜ ๋ฐ˜ํ™˜
FIND_IN_SET: ์ฐพ์„ ๋ฌธ์ž์—ด์˜ ์œ„์น˜ ๋ฐ˜ํ™˜
INSTR: ๊ธฐ์ค€ ๋ฌธ์ž์—ด์—์„œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘ ์œ„์น˜ ๋ฐ˜ํ™˜
LOCATE: INSTR๊ณผ ๋™์ผํ•˜๊ณ  ์ˆœ์„œ๋Š” ๋ฐ˜๋Œ€`

    SELECT 
           ELT(2, '์‚ฌ๊ณผ', '๋”ธ๊ธฐ', '๋ฐ”๋‚˜๋‚˜')
         , FIELD('๋”ธ๊ธฐ', '์‚ฌ๊ณผ', '๋”ธ๊ธฐ', '๋ฐ”๋‚˜๋‚˜')
         , FIND_IN_SET('๋ฐ”๋‚˜๋‚˜', '์‚ฌ๊ณผ,๋”ธ๊ธฐ,๋ฐ”๋‚˜๋‚˜')
         , INSTR('์‚ฌ๊ณผ๋”ธ๊ธฐ๋ฐ”๋‚˜๋‚˜', '๋”ธ๊ธฐ') 
         , LOCATE('๋”ธ๊ธฐ', '์‚ฌ๊ณผ๋”ธ๊ธฐ๋ฐ”๋‚˜๋‚˜');

โžก๏ธ FORMAT(์ˆซ์ž, ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜)

FORMAT: 1000๋‹จ์œ„๋งˆ๋‹ค ์ฝค๋งˆ(,) ํ‘œ์‹œ๋ฅผ ํ•ด ์ฃผ๋ฉฐ ์†Œ์ˆ˜์  ์•„๋ž˜ ์ž๋ฆฟ์ˆ˜(๋ฐ˜์˜ฌ๋ฆผ)๊นŒ์ง€ ํ‘œํ˜„ํ•œ๋‹ค.

    SELECT FORMAT(123142512521.5635326, 3);

โžก๏ธ BIN(์ˆซ์ž), OCT(์ˆซ์ž), HEX(์ˆซ์ž)

BIN: 2์ง„์ˆ˜ ํ‘œํ˜„
OCT: 8์ง„์ˆ˜ ํ‘œํ˜„
HEX: 16์ง„์ˆ˜ ํ‘œํ˜„

    SELECT BIN(65), OCT(65), HEX(65);

โžก๏ธ INSERT(๊ธฐ์ค€ ๋ฌธ์ž์—ด, ์œ„์น˜, ๊ธธ์ด, ์‚ฝ์ž…ํ•  ๋ฌธ์ž์—ด)

INSERT: ๊ธฐ์ค€ ๋ฌธ์ž์—ด์˜ ์œ„์น˜๋ถ€ํ„ฐ ๊ธธ์ด๋งŒํผ์„ ์ง€์šฐ๊ณ  ์‚ฝ์ž…ํ•  ๋ฌธ์ž์—ด์„ ๋ผ์›Œ ๋„ฃ๋Š”๋‹ค.

    SELECT INSERT('๋‚ด ์ด๋ฆ„์€ ์•„๋ฌด๊ฐœ์ž…๋‹ˆ๋‹ค.', 7, 3, 'ํ™๊ธธ๋™');

โžก๏ธ LEFT(๋ฌธ์ž์—ด, ๊ธธ์ด), RIGHT(๋ฌธ์ž์—ด, ๊ธธ์ด)

LEFT: ์™ผ์ชฝ์—์„œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋งŒํผ์„ ๋ฐ˜ํ™˜
RIGHT: ์˜ค๋ฅธ์ชฝ์—์„œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋งŒํผ์„ ๋ฐ˜ํ™˜

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

โžก๏ธ UPPER(๋ฌธ์ž์—ด), LOWER(๋ฌธ์ž์—ด)

UPPER: ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ
LOWER: ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ`

    SELECT LOWER('Hello World!'), UPPER('Hello World!');

โžก๏ธ LPAD(๋ฌธ์ž์—ด, ๊ธธ์ด, ์ฑ„์šธ ๋ฌธ์ž์—ด), RPAD(๋ฌธ์ž์—ด, ๊ธธ์ด, ์ฑ„์šธ ๋ฌธ์ž์—ด)

LPAD: ๋ฌธ์ž์—ด์„ ๊ธธ์ด๋งŒํผ ์™ผ์ชฝ์œผ๋กœ ๋Š˜๋ฆฐ ํ›„์— ๋นˆ ๊ณณ์„ ๋ฌธ์ž์—ด๋กœ ์ฑ„์šด๋‹ค.
RPAD: ๋ฌธ์ž์—ด์„ ๊ธธ์ด๋งŒํผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋Š˜๋ฆฐ ํ›„์— ๋นˆ ๊ณณ์„ ๋ฌธ์ž์—ด๋กœ ์ฑ„์šด๋‹ค.`

    SELECT LPAD('์™ผ์ชฝ', 6, '@'), RPAD('์˜ค๋ฅธ์ชฝ', 6 ,'@');

โžก๏ธ LTRIM(๋ฌธ์ž์—ด), RTRIM(๋ฌธ์ž์—ด)

LTRIM: ์™ผ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ
RTRIM: ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ

    SELECT LTRIM('    ์™ผ์ชฝ'), RTRIM('์˜ค๋ฅธ์ชฝ    ');

โžก๏ธ TRIM(๋ฌธ์ž์—ด), TRIM(๋ฐฉํ–ฅ ์ž๋ฅผ_๋ฌธ์ž์—ด FROM ๋ฌธ์ž์—ด)

TRIM: TRIM์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•ž๋’ค ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜์ง€๋งŒ ๋ฐฉํ–ฅ(LEADING(์•ž), BOTH(์–‘์ชฝ), TRAILING(๋’ค))์ด ์žˆ์œผ๋ฉด ํ•ด๋‹น ๋ฐฉํ–ฅ์— ์ง€์ •ํ•œ ๋ฌธ์ž์—ด์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

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

โžก๏ธ REPEAT(๋ฌธ์ž์—ด, ํšŸ์ˆ˜)

REPEAT: ๋ฌธ์ž์—ด์„ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต

    SELECT REPEAT('์žฌ๋ฐŒ์–ด', 3);

โžก๏ธ REPLACE(๋ฌธ์ž์—ด, ์ฐพ์„ ๋ฌธ์ž์—ด, ๋ฐ”๊ฟ€ ๋ฌธ์ž์—ด)

REPLACE: ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž์—ด์„ ์ฐพ์•„ ์น˜ํ™˜

    SELECT REPLACE('๋งˆ์ดSQL', '๋งˆ์ด', 'My');

โžก๏ธ REVERSE(๋ฌธ์ž์—ด)

REVERSE: ๋ฌธ์ž์—ด์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์Œ

    SELECT REVERSE('stressed');

โžก๏ธ SPACE(๊ธธ์ด)

SPACE: ๊ธธ์ด ๋งŒํผ์˜ ๊ณต๋ฐฑ์„ ๋ฐ˜ํ™˜

    SELECT CONCAT('์ œ ์ด๋ฆ„์€', SPACE(5), '์ด๊ณ  ๋‚˜์ด๋Š”', SPACE(3), '์„ธ์ž…๋‹ˆ๋‹ค.');

โžก๏ธ SUBSTRING(๋ฌธ์ž์—ด, ์‹œ์ž‘์œ„์น˜, ๊ธธ์ด)

SUBSTRING: ์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ๊ธธ์ด๋งŒํผ์˜ ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜(๊ธธ์ด๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ˜ํ™˜)

    SELECT SUBSTRING('์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.', 7, 2), SUBSTRING('์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.', 7);

โžก๏ธ SUBSTRING_INDEX(๋ฌธ์ž์—ด, ๊ตฌ๋ถ„์ž, ํšŸ์ˆ˜)

SUBSTRING_INDEX: ๊ตฌ๋ถ„์ž๊ฐ€ ์™ผ์ชฝ๋ถ€ํ„ฐ ํšŸ์ˆ˜ ๋ฒˆ์จฐ ๋‚˜์˜ค๋ฉด ๊ทธ ์ดํ›„์˜ ์˜ค๋ฅธ์ชฝ์€ ๋ฒ„๋ฆฐ๋‹ค. ํšŸ์ˆ˜๊ฐ€ ์Œ์ˆ˜์ผ ๊ฒฝ์šฐ ์˜ค๋ฅธ์ชฝ๋ถ€ํ„ฐ ์„ธ๊ณ  ์™ผ์ชฝ์„ ๋ฒ„๋ฆฐ๋‹ค.

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


๐Ÿ”– ์ˆซ์ž ๊ด€๋ จ ํ•จ์ˆ˜

โžก๏ธ ABS(์ˆซ์ž)

ABS: ์ ˆ๋Œ€๊ฐ’ ๋ฐ˜ํ™˜

    SELECT ABS(-123);

โžก๏ธCEILING(์ˆซ์ž), FLOOR(์ˆซ์ž), ROUND(์ˆซ์ž)

CEILING: ์˜ฌ๋ฆผ๊ฐ’ ๋ฐ˜ํ™˜
FLOOR: ๋ฒ„๋ฆผ๊ฐ’ ๋ฐ˜ํ™˜
ROUND: ๋ฐ˜์˜ฌ๋ฆผ๊ฐ’ ๋ฐ˜ํ™˜

    SELECT CEILING(1234.56), FLOOR(1234.56), ROUND(1234.56);

โžก๏ธ CONV(์ˆซ์ž, ์›๋ž˜ ์ง„์ˆ˜, ๋ณ€ํ™˜ํ•  ์ง„์ˆ˜)

CONV: ์›๋ž˜ ์ง„์ˆ˜์—์„œ ๋ณ€ํ™˜ํ•˜๊ณ ์ž ํ•˜๋Š” ์ง„์ˆ˜๋กœ ๋ณ€ํ™˜

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

โžก๏ธ MOD(์ˆซ์ž1, ์ˆซ์ž2) ๋˜๋Š” ์ˆซ์ž1 % ์ˆซ์ž2 ๋˜๋Š” ์ˆซ์ž1 MOD ์ˆซ์ž2

MOD: ์ˆซ์ž 1์„ ์ˆซ์ž 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ์ถ”์ถœ

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

โžก๏ธ POW(์ˆซ์ž1, ์ˆซ์ž2), SQRT(์ˆซ์ž)

POW: ๊ฑฐ๋“ญ์ œ๊ณฑ๊ฐ’ ์ถ”์ถœ
SQRT: ์ œ๊ณฑ๊ทผ์„ ์ถ”์ถœ

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

โžก๏ธ RAND()

RAND: 0์ด์ƒ 1 ๋ฏธ๋งŒ์˜ ์‹ค์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.
m <= ์ž„์˜์˜ ์ •์ˆ˜ < n'์„ ๊ตฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด FLOOR((RAND() (n - m) + m)์„ ์‚ฌ์šฉํ•œ๋‹ค.
1๋ถ€ํ„ฐ 10๊นŒ์ง€ ๋‚œ์ˆ˜ ๋ฐœ์ƒ: FLOOR(RAND()
(11 - 1) + 1)

    SELECT RAND(), FLOOR(RAND() * (11 - 1) + 1);

โžก๏ธ SIGN(์ˆซ์ž)

SIGN: ์–‘์ˆ˜๋ฉด 1, 0์ด๋ฉด 0, ์Œ์ˆ˜๋ฉด -1์„ ๋ฐ˜ํ™˜

    SELECT SIGN(10.1), SIGN(0), SIGN(-10.1);

โžก๏ธ TRUNCATE(์ˆซ์ž, ์ •์ˆ˜)

TRUNCATE: ์†Œ์ˆ˜์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ •์ˆ˜ ์œ„์น˜๊นŒ์ง€ ๊ตฌํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ฒ„๋ฆผ

    SELECT TRUNCATE(12345.12345, 2), TRUNCATE(12345.12345, -2);


๐Ÿ”– ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ๊ด€๋ จ ํ•จ์ˆ˜

โžก๏ธ ADDDATE(๋‚ ์งœ, ์ฐจ์ด), SUBDATE(๋‚ ์งœ, ์ฐจ์ด)

ADDDATE: ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฐจ์ด๋ฅผ ๋”ํ•จ
SUBDATE: ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ ์งœ๋ฅผ ๋บŒ

    SELECT ADDDATE('2023-05-31', INTERVAL 30 DAY), ADDDATE('2023-05-31', INTERVAL 6 MONTH);
    SELECT SUBDATE('2023-05-31', INTERVAL 30 DAY), SUBDATE('2023-05-31', INTERVAL 6 MONTH);

โžก๏ธ ADDTIME(๋‚ ์งœ/์‹œ๊ฐ„, ์‹œ๊ฐ„), SUBTIME(๋‚ ์งœ/์‹œ๊ฐ„, ์‹œ๊ฐ„)

ADDTIME: ๋‚ ์งœ ๋˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์‹œ๊ฐ„์„ ๋”ํ•จ
SUBTIME: ๋‚ ์งœ ๋˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์‹œ๊ฐ„์„ ๋บŒ

    SELECT ADDTIME('2023-05-31 09:00:00', '1:0:1'), SUBTIME('2023-05-31 09:00:00', '1:0:1');

โžก๏ธ CURDATE(), CURTIME(), NOW(), SYSDATE()

CURDATE: ํ˜„์žฌ ์—ฐ-์›”-์ผ ์ถ”์ถœ
CURTIME: ํ˜„์žฌ ์‹œ:๋ถ„:์ดˆ ์ถ”์ถœ
NOW() ๋˜๋Š” SYSDATE(): ํ˜„์žฌ ์—ฐ-์›”-์ผ ์‹œ:๋ถ„:์ดˆ ์ถ”์ถœ

    SELECT CURDATE(), CURTIME(), NOW(), SYSDATE();
    
    -- CURDATE(), CURRENT_DATE(), CURRENT_DATE๋Š” ๋™์ผ
    SELECT CURDATE(), CURRENT_DATE(), CURRENT_DATE;
    
    -- CURTIME(), CURRENT_TIME(), CURRENT_TIME์€ ๋™์ผ 
    SELECT CURTIME(), CURRENT_TIME(), CURRENT_TIME;
    
    -- NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP, LOCALTIMESTAMP()๋Š” ๋™์ผ
    SELECT NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP, LOCALTIMESTAMP();

โžก๏ธ YEAR(๋‚ ์งœ), MONTH(๋‚ ์งœ), DAYOFMONTH(๋‚ ์งœ),

HOUR(์‹œ๊ฐ„), MINUTE(์‹œ๊ฐ„), SECOND(์‹œ๊ฐ„), MICROSECOND(์‹œ๊ฐ„)
๋‚ ์งœ ๋˜๋Š” ์‹œ๊ฐ„์—์„œ ์—ฐ, ์›”, ์ผ, ์‹œ, ๋ถ„, ์ดˆ, ๋ฐ€๋ฆฌ์ดˆ๋ฅผ ์ถ”์ถœ

    SELECT YEAR(CURDATE()), MONTH(CURDATE()), DAYOFMONTH(CURDATE());
    SELECT HOUR(CURTIME()), MINUTE(CURTIME()), SECOND(CURRENT_TIME), MICROSECOND(CURRENT_TIME);

โžก๏ธ DATE(), TIME()

DATE: ์—ฐ-์›”-์ผ๋งŒ ์ถ”์ถœ
TIME: ์‹œ:๋ถ„:์ดˆ๋งŒ ์ถ”์ถœ

    SELECT DATE(NOW()), TIME(NOW());

โžก๏ธ DATEDIFF(๋‚ ์งœ1, ๋‚ ์งœ2), TIMEDIFF(๋‚ ์งœ1 ๋˜๋Š” ์‹œ๊ฐ„1, ๋‚ ์งœ1 ๋˜๋Š” ์‹œ๊ฐ„2)

DATEDIFF: ๋‚ ์งœ1 - ๋‚ ์งœ2์˜ ์ผ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
TIMEDIFF: ์‹œ๊ฐ„1 - ์‹œ๊ฐ„2์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ•จ

    SELECT DATEDIFF('2023-05-31', '2023-02-27'), TIMEDIFF('17:07:11', '13:06:10');

โžก๏ธ DAYOFWEEK(๋‚ ์งœ), MONTHNAME(), DAYOFYEAR(๋‚ ์งœ)

DAYOFWEEK: ์š”์ผ ๋ฐ˜ํ™˜(1์ด ์ผ์š”์ผ)
MONTHNAME: ํ•ด๋‹น ๋‹ฌ์˜ ์ด๋ฆ„ ๋ฐ˜ํ™˜
DAYOFYEAR: ํ•ด๋‹น ๋…„๋„์—์„œ ๋ช‡ ์ผ์ด ํ˜๋ €๋Š”์ง€ ๋ฐ˜ํ™˜

    SELECT DAYOFWEEK(CURDATE()), MONTHNAME(CURDATE()), DAYOFYEAR(CURDATE());

โžก๏ธ LAST_DAY(๋‚ ์งœ)

LAST_DAY: ํ•ด๋‹น ๋‚ ์งœ์˜ ๋‹ฌ์—์„œ ๋งˆ์ง€๋ง‰ ๋‚ ์˜ ๋‚ ์งœ๋ฅผ ๊ตฌํ•œ๋‹ค.

    SELECT LAST_DAY('20230201');

โžก๏ธ MAKEDATE(์—ฐ๋„, ์ •์ˆ˜)

MAKEDATE: ํ•ด๋‹น ์—ฐ๋„์˜ ์ •์ˆ˜๋งŒํผ ์ง€๋‚œ ๋‚ ์งœ๋ฅผ ๊ตฌํ•œ๋‹ค.

    SELECT MAKEDATE(2023, 32);

โžก๏ธ MAKETIME(์‹œ, ๋ถ„, ์ดˆ)

MAKETIME: ์‹œ, ๋ถ„, ์ดˆ๋ฅผ ์ด์šฉํ•ด์„œ '์‹œ:๋ถ„:์ดˆ'์˜ TIME ํ˜•์‹์„ ๋งŒ๋“ ๋‹ค.

    SELECT MAKETIME(17, 03, 02);

โžก๏ธ QUARTER(๋‚ ์งœ)

QUARTER: ํ•ด๋‹น ๋‚ ์งœ์˜ ๋ถ„๊ธฐ๋ฅผ ๊ตฌํ•จ

   SELECT QUARTER('2023-05-31');

โžก๏ธ TIME_TO_SEC(์‹œ๊ฐ„)

TIME_TO_SEC: ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ๊ตฌํ•จ

    SELECT TIME_TO_SEC('1:1:1');
profile
"๋กœ์ปฌ์—์„  ๋ฌธ์ œ์—†์—ˆ๋Š”๋ฐโ€ฆ?"

0๊ฐœ์˜ ๋Œ“๊ธ€