CREATE TABLE MEMBER
(
ID VARCHAR2(50),
PWD NVARCHAR2(50),
NAME NVARCHAR2(50),
GENDER NCHAR(2), --๋จ์ฑ, ์ฌ์ฑ
AGE NUMBER,
BIRTHDAY CHAR(10), --2023-01-01
PHONE CHAR(13), --010-1234-5678
REGDATE DATE
);
Oracle์ ๋ฌธ์๋ฐ์ดํฐ ํ์
1.CHAR
๊ณ ์ ๋ ๋ฌธ์ ํ์
์ต๋ํฌ๊ธฐ 2000byte
CHAR(50)์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ ์์ฉํ ์ ์๋ ๋ฌธ์ ํฌ๊ธฐ๋ 50byte.
์ํ๋ฒณ ํ๋์ 1byte์ด๋ฏ๋ก 50์๋ฅผ ์ธ ์ ์๋ค. (๋ค๋ฅธ ์ธ์ด๋ 2byte)
๋ชจ๋ ํ๋ง๋ค 50byte๋งํผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด๋๊ณ ์ค์ ๋ฐ์ดํฐ๊ฐ 20byte์ฌ๋ 50byte๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ๋๋จธ์ง๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์ด๋ค.
๋ฐ๋ผ์ 'AA' = 'AA ' ์ ์ค์ ๋ก ๊ฐ๋ค๋ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. ๋๋จธ์ง๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์ฐ๊ธฐ ๋๋ฌธ์
๋ฉ๋ชจ๋ฆฌ ๋ญ๋น ๊ฐ๋ฅ์ฑ์ด ๋์.
๊ธธ์ด๊ฐ ์ผ์ ํ ๋ฐ์ดํฐ : ์ฌ๋ฒ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ
2.VARCHAR2
๊ฐ๋ณํ ๋ฌธ์ ํ์ (ASCII์ฝ๋)
์ต๋ํฌ๊ธฐ 4000byte
VARCHAR(50)์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ CHAR์ ๋์ผํ๊ฒ 50byte๊น์ง ์ ๋ ฅ ๊ฐ๋ฅ
์ค์ ๋ฐ์ดํฐ๊ฐ 20byte์ด๋ฉด 20byte + 1byte(๊ธธ์ด๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ) = 21byte๊ฐ ์๋ชจ๋๋ค.
๋ฐ๋ผ์ 'AA' != 'AA ' ๊ณต๋ฐฑ์ด ์์ด ์๋ก ๋ค๋ฅธ ๋ฌธ์๋ก ํ๋จ.
ASCII์ฝ๋ ๋ฌธ์ ๋ฐ์ดํฐํ์ด๊ธฐ์ ASCII์ ์๋ ๋ฌธ์๋ 1byte, ๊ทธ ์ธ ๋ค๊ตญ์ด๋ 2byte๋ก ๊ณ์ฐํ๋ค. CHAR์ ๊ฐ๋ค.
๊ฐ๋ณ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ธฐ์ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
๊ธธ์ด๊ฐ ๋ณํ ์ ์๋ ๋ฐ์ดํฐ : ์ด๋ฆ, ์ฃผ์, ์์ด๋, ๋น๋ฐ๋ฒํธ
3.NVARCHAR2
๊ฐ๋ณํ ๋ฌธ์ ํ์ (์ ๋์ฝ๋)
์ต๋ํฌ๊ธฐ 2000byte
VARCHAR์ ๋์ผํ๊ฒ ๊ฐ๋ณ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํ ๋น.
NVARCHAR์ ์ ๋์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณ์ฐํ๋ฏ๋ก ์์ด๋ ํ๊ธ์ด๋ ๋ชจ๋ 2byte๋ก ๊ณ์ฐํ๋ค.