Day 13
Last updated
Was this helpful?
Last updated
Was this helpful?
๋ฐ์ดํฐ๋ ์์งํ ์ซ์๋ณด๋ค ๋ฌธ์์ด์ด ๋ช๋ฐฐ๋ ๋ ๋ง์... ๋ฌธ์์ด์ ์กฐ์ํ๋ ๋ฐฉ๋ฒ์ ํ๋ฒ ๋ด๋ณด์
๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ๋ฌธ์์ด ๊ฒฐํฉ์ด๋ ๋ญ ๋ฐ์ดํฐ ๋ฌธ์๋ฅผ ํฉ์น๋ ๊ณผ์ ์ ์๋ฏธ ๊ทธ๋ ๋ค๊ณ ๋ฌด์กฐ๊ฑด varchar๋ง ์ฐ์ฐ์ด ๊ฐ๋ฅํ๊ณ ๊ทธ๋ฐ๊ฑด ์๋๊ณ integer์๋ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅ์ ํจ ๋ฌธ์์ด์ ๊ฒฐํฉํ๋ ์ฐ์ฐ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง๋ค ๋ค ๋ค๋ฅธ ๋ฐฉ์ธ์ผ๋ก ์ฌ์ฉ๋๊ณ ์๋ค Oracle, DB2, PostgreSQL -> || MySQL -> CONCAT ์ด๋ ๊ฒ ๋ํ์ ์ธ ๊ฒ์ ๊ธฐ์ตํด๋์! ํ์ฌ ์งํ์ mysql์ ํตํด์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ ๋ฒ ํด๋ณด์ ์์์ ์ ๊น ์ด์ผ๊ธฐํ๋ฏ์ด, ์ซ์์ ๋ฌธ์์ด์ ์กฐํฉํ๋ ๊ฒ๋ ๊ฐ๋ฅ
์๋ฐ์์ ์ฌ์ฉํด๋ณธ์ ์๋ ํจ์์ด๋ค -> ๋ฌธ์์ด์ ์ํ๋ ๋ถ๋ถ์ index์ ์ด์ฉํด์ ์๋ผ๋ด์ ๋ฆฌํดํด์ฃผ๋ ํจ์ ๊ผญ SUBSTRING ์ด ์๋๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ๋ผ์ SUBSTR ์ธ ๊ฒฝ์ฐ๋ ์๋ค substring ํจ์์ ์ฌ์ฉ์ ๋ ์ง๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ ๊ฐ๋ค yyyymmddHHmmss ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ์์ ์ฐ๋๋ง ์ถ์ถํ ๋? ์ด๋ด๋ ์ฌ์ฉํ๋ฉด ์ข์
์ด๊ฒ๋ ์๋ฐ์์ ๋ณธ์ ์๋ค -> ๋ฌธ์์ด์ ํ์ธํด์ ๋ฌธ์์ด์ ๋งจ์๊ณผ ๋งจ๋ค์ ์กด์ฌํ๋ ๊ณต๋ฐฑ(์คํ์ด์ค๋ฐ)๋ฅผ ์ฐพ์์ ์ ๊ฑฐํด์ฃผ๋ ํจ์ ๋งจ ์๊ณผ ๋งจ ๋ค๋ง ์ฐพ๊ธฐ ๋๋ฌธ์ ๋ฌธ์์ด ์ฌ์ด์ ์กด์ฌํ๋ ๊ณต๋ฐฑ์ ๋ ๋๋ค๋ ๊ฒ
๋ญ๊ฐ ํจ์์ ์ด๋ฆ์ด ๊ธธ์ด์ง ๊ฒ ๊ฐ์๋ฐ, ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฆฌํดํด์ฃผ๋ ํจ์ CHAR_LENGTH์ผ๋ก๋ ์ค์ผ ์ ์๋ค๋ค..? ์ด๊ฒ ๊ฐ๋ฅํ๊ฐ..? ๊ทธ๋ฆฌ๊ณ ์ด ํจ์์ ์์ผ๋ก OCTET_LENGTH๊ฐ ์๋๋ฐ ์ ํจ์๋ ๊ธธ์ด๋ฅผ ๋ฐ์ดํธ ๋จ์๋ก ๊ณ์ฐํด์ค
์ํ๋ฒณ์ ๋ณด๊ณ ๋ฐ๊ฐ๋ฌธ์, ํ๊ธ์ ๋ณด๊ณ ์ ๊ฐ๋ฌธ์๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋๋ฐ, ์ด ๋์ ์ฐจ์ด๋ ๋ฐ์ดํฐ๋ก ์น ๋ ์ฐจ์ด๊ฐ ๋ณด์ธ๋ค ๋ฐ๊ฐ๋ฌธ์๋ ์ ๊ฐ๋ฌธ์ ํญ์ ์ ๋ฐ๋ ์๋๊ณ ์ ์ฅ์ฉ๋ ๋ํ ์ ๊ฐ๋ฌธ์ ์ชฝ์ด ํจ์ฌ ํฌ๋ค..! RDBMS์์๋ ํ๊ธ์ EUC-KR์ด๋ UTF-8๋ฑ์ ์ธ์ฝ๋ฉ ๋ฐฉ์์ ์ฌ์ฉํ๋๋ฐ ์ธ์ฝ๋ฉ์ ๋ฐฉ์์ ๋ณด๊ณ character set(๋ฌธ์์ธํธ)๋ผ๊ณ ๋ถ๋ฅธ๋ค
๋จ์ํ CHAR_LENGTH๋ ๋ฌธ์์ด์ ๋ฌธ์ ๊ธธ์ด๋ก ๊ณ์ฐ ํ์ง๋ง ํ ๋ฌธ์๊ฐ ๋ช ๋ฐ์ดํธ๋ก ์ฐ์ง๋์ง์ ๋ฐ๋ผ์ OCTET_LENGTH๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ํญ์ ์ฃผ์๋ฅผ ํด๋์! ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊น ์ด๋ ํ character set์ ์ฌ์ฉํ๋์ง๋ ์์๋๋๊ฒ ์ข๊ฒ ๋ค