MySQL์์ ์์ฃผ ์ฐ์ด๋ ๋ณํ ํจ์๋ค์ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ๋ฐฐ์๋ณด๋ ์์์
๋๋ค! ์บ์คํธ(CAST), ์ปจ๋ฒํธ(CONVERT), ํฌ๋งท(FORMAT), ๋ฐ์ดํธ ํฌ๋งท(DATE_FORMAT) ํจ์์ ์ญํ ๊ณผ ์ฌ์ฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ํ์
๋ณํ ํค์๋๊น์ง ๊ผผ๊ผผํ ๋ค๋ฃน๋๋ค.
๋ชฉ์ฐจ
1.
2.
3.
4.
5.
6.
7.
๋ณํ ํจ์ ์๊ฐ์ ๊ธฐ๋ณธ ๊ฐ๋
[00:00:13]
โข
๋ณํ ํจ์๋?๋ฐ์ดํฐ ๊ฐ์ ๋ค๋ฅธย ๋ฐ์ดํฐ ํ์
์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ํจ์์
๋๋ค.
โข
์ฃผ์ ํจ์:
โฆ
CAST์ย CONVERT: ๊ฑฐ์ ๋น์ทํ๋ฉฐ, ๊ฐ์ ํน์ ๋ฐ์ดํฐ ํ์
์ผ๋ก ๋ณํ
โฆ
FORMAT: ์ซ์ ๋ฐ์ดํฐ์ ์์์ ์๋ฆฌ์์ ์ฒ ๋จ์ ๊ตฌ๋ถ ์ฝค๋ง(,)๋ฅผ ๋ถ์ฌ ์์๊ฒ ์ถ๋ ฅ
โฆ
DATE_FORMAT: ๋ ์ง ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ๋ฌธ์์ด ํํ๋ก ํฌ๋งทํ
โข
์์:
โฆ
์ซ์ 12345.6789๋ฅผ ์์์ ๋์งธ ์๋ฆฌ๊น์ง, ์ฒ ๋จ์ ์ฝค๋ง ํฌํจํด์ "12,345.68"๋ก ํํ
โฆ
๋ ์ง "2025-04-30"์ "2025๋
4์ 30์ผ" ๊ฐ์ ํ๊ตญ์ด ํ์์ผ๋ก ๋ฐ๊พธ๊ธฐ
CAST์ CONVERT ํจ์ ์ฌ์ฉ๋ฒ๊ณผ ์ฐจ์ด์ [00:02:00]
โข
CAST(๊ฐ AS ๋ฐ์ดํฐํ์
): ๊ฐ์ ์ง์ ํ ๋ฐ์ดํฐ ํ์
์ผ๋ก ๋ณํ
โฆ
์:ย CAST('123' AS SIGNED)ย โ ๋ฌธ์์ด '123'์ ์ ์ 123์ผ๋ก ๋ณํ
โข
CONVERT(๊ฐ, ๋ฐ์ดํฐํ์
): CAST์ ๋น์ทํ์ง๋ง, AS ๋์ ์ฝค๋ง(,)๋ก ๊ตฌ๋ถ
โฆ
์:ย CONVERT('123', SIGNED)
โข
๋ ๋ค ๋ฌธ์์ด
์ซ์, ๋ฌธ์์ด
๋ ์ง ๋ณํ์ ์ฌ์ฉ ๊ฐ๋ฅ
โข
์ฐจ์ด์ ์ ๋ฌธ๋ฒ ์คํ์ผ ์ฐจ์ด๋ก, ๊ธฐ๋ฅ์ ๊ฑฐ์ ๋์ผ
โข
๋ฐ์ดํฐ ํ์
์์: SIGNED (๋ถํธ ์๋ ์ ์), UNSIGNED (๋ถํธ ์๋ ์ ์), CHAR (๋ฌธ์์ด), DATE, DATETIME ๋ฑ
FORMAT ํจ์๋ก ์ซ์ ํฌ๋งท ์ง์ ํ๊ธฐ [00:17:51]
โข
์ซ์๋ฅผ ๋ณด๊ธฐ ์ข๊ฒ ํฌ๋งทํ
ํ๋ ํจ์
โข
์ฌ์ฉ๋ฒ:ย FORMAT(์ซ์, ์์์ ์๋ฆฌ์)
โข
์:ย FORMAT(1234567.891, 2)ย โ "1,234,567.89"
โข
์ฒ ๋จ์ ์ฝค๋ง(,)๊ฐ ์๋์ผ๋ก ๋ค์ด๊ฐ๊ณ , ์์์ ์ ๋ฐ์ฌ๋ฆผ ์ฒ๋ฆฌ๋จ
โข
์์์ ์์ด ์ ์๋ง ํํํ๊ณ ์ถ์ผ๋ฉด ์์์ ์๋ฆฌ์๋ฅผ 0์ผ๋ก ์ง์
โข
์ฐธ๊ณ : ๋ฐ์ฌ๋ฆผ ๋์ ์์์ ์ดํ๋ฅผ ๊ทธ๋ฅ ์๋ฅด๊ณ ์ถ์ผ๋ฉด ๋ณ๋์ ํจ์(TRUNCATE)๋ฅผ ์ฌ์ฉ
DATE_FORMAT ํจ์๋ก ๋ ์ง ํฌ๋งท ์ง์ ํ๊ธฐ [00:20:48]
โข
๋ ์ง ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ๋ฌธ์์ด ํํ๋ก ๋ณํํ๋ ํจ์
โข
์ฌ์ฉ๋ฒ:ย DATE_FORMAT(๋ ์ง, 'ํฌ๋งท๋ฌธ์์ด')
โข
ํฌ๋งท ๋ฌธ์ ์์:
โฆ
%Y: 4์๋ฆฌ ์ฐ๋ (2025)
โฆ
%y: 2์๋ฆฌ ์ฐ๋ (25)
โฆ
%m: 2์๋ฆฌ ์ (04)
โฆ
%d: 2์๋ฆฌ ์ผ (30)
โฆ
%H: 24์๊ฐ ๊ธฐ์ค ์ (12)
โฆ
%i: ๋ถ (30)
โฆ
%s: ์ด (59)
โข
์:ย DATE_FORMAT(NOW(), '%Y๋
%m์ %d์ผ %H์ %i๋ถ %s์ด')ย โ "2025๋
04์ 30์ผ 12์ 30๋ถ 59์ด"
โข
๋ค์ํ ๋ ์ง ํฌ๋งท์ ์ฝ๊ฒ ๋ง๋ค ์ ์์ด ๋ณด๊ณ ์๋ ํ๋ฉด ์ถ๋ ฅ์ ์ ์ฉ
๋ฐ์ดํฐ ํ์
๋ณํ ํค์๋ ์ ๋ฆฌ์ ์ค์ต [00:07:19]
โข
๋ณํํ ๋ ์ฌ์ฉํ ์ ์๋ ๋ฐ์ดํฐ ํ์
ํค์๋ ์ข
๋ฅ
โข
์ฃผ์ ํค์๋:
โฆ
์ ์ํ: SIGNED, UNSIGNED, INT, BIGINT (๋ถํธ ์ ๋ฌด์ ํฌ๊ธฐ ์ฐจ์ด)
โฆ
๋ฌธ์์ดํ: CHAR, VARCHAR, TEXT
โฆ
๋ ์งํ: DATE, DATETIME, TIMESTAMP
โฆ
์ค์ํ: FLOAT, DOUBLE, DECIMAL
โข
์์:
โฆ
CAST('123' AS UNSIGNED)ย โ ๋ถํธ ์๋ ์ ์๋ก ๋ณํ
โฆ
CAST(123 AS CHAR)ย โ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํ
โข
์ฃผ์: ๋ชจ๋ ํค์๋๊ฐ ๋ชจ๋ ํจ์์์ ๋ค ์ง์๋๋ ๊ฑด ์๋๋ ์์์์ ๊ฒ์ฆํ ๋ด์ฉ์ ์ฐธ๊ณ
๋ฌธ์์ด๊ณผ ๋ ์ง ๊ฐ ๋ณํ ์ค์ต (STR_TO_DATE ๋ฑ) [00:25:47]
โข
๋ฌธ์์ด์ ๋ ์ง๋ก ๋ณํํ ๋๋ย STR_TO_DATE(๋ฌธ์์ด, 'ํฌ๋งท')ย ์ฌ์ฉ
โข
์:ย STR_TO_DATE('2025-04-30 12:30:59', '%Y-%m-%d %H:%i:%s')ย โ ๋ ์ง ํ์
์ผ๋ก ๋ณํ
โข
๋ ์ง โ ๋ฌธ์์ด ๋ณํ์ย DATE_FORMATย ์ฌ์ฉ
โข
ํฌ๋งท ๋ฌธ์์ด์ ๋ ์ง์ ๊ฐ ๋ถ๋ถ(๋
, ์, ์ผ, ์, ๋ถ, ์ด)์ ์์น์ ํ์์ ์ ํํ ๋ง์ถฐ์ผ ์ ๋๋ก ๋ณํ๋จ
โข
ํ๊ธ์ด๋ ํน์๋ฌธ์ ํฌํจ๋ ํฌ๋งท๋ ๊ฐ๋ฅํ์ง๋ง, ํฌ๋งท๊ณผ ๋ฐ์ดํฐ๊ฐ ์ ํํ ๋ง์์ผ ํจ
โข
์ค์ํ ์: ์ฌ์ฉ์๊ฐ "2025๋
4์ 30์ผ 12์ 30๋ถ" ๊ฐ์ ํ์์ผ๋ก ์
๋ ฅํ ๋ ์ง๋ฅผ DB์ ์ ์ฅํ ๋ ๋ณํ
๋ง๋ฌด๋ฆฌ ์์ฝ๊ณผ ์ฐธ๊ณ ์ฌํญ [00:32:00]
โข
MySQL ๋ณํ ํจ์๋ ๋ฐ์ดํฐ ํ์
์ ์์ ๋กญ๊ฒ ๋ฐ๊ฟ์ฃผ์ด ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ถ๋ ฅ์ ๋งค์ฐ ์ ์ฉ
โข
CAST์ CONVERT๋ ๊ฑฐ์ ๊ฐ์ ๊ธฐ๋ฅ, ๋ฌธ๋ฒ ์ฐจ์ด๋ง ์์
โข
FORMAT์ ์ซ์ ์ถ๋ ฅ ํฌ๋งท, DATE_FORMAT์ ๋ ์ง ์ถ๋ ฅ ํฌ๋งท ์ง์
โข
STR_TO_DATE๋ก ๋ฌธ์์ด โ ๋ ์ง ๋ณํ ๊ฐ๋ฅ
โข
๋ณํํ ๋ ์ฌ์ฉํ ์ ์๋ ๋ฐ์ดํฐ ํ์
ํค์๋๋ฅผ ์ ์ดํดํ๊ณ ํ์ฉํ๋ฉด ์ค๋ฌด์ ํฐ ๋์์ด ๋จ
โข
์์์์ ์ง์ ์ค์ตํ๋ฉฐ ํ์ธํ ๋ด์ฉ๋ค์ ์ฐธ๊ณ ํด๋ณด์ธ์!
์ด ์์์ผ๋ก MySQL ๋ณํ ํจ์์ ๊ธฐ๋ณธ๋ถํฐ ์ค์ ํ์ฉ๊น์ง ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ์ตํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ํ์
๋ณํ์ด ํ์ํ ๋ ์์ ์๊ฒ ํ์ฉํด ๋ณด์ธ์! 