Home > SQL Server > SQL Data Type ใน MSSQL Server 2005/2008 (ตอน 2 – Character strings)

SQL Data Type ใน MSSQL Server 2005/2008 (ตอน 2 – Character strings)


Reference: http://msdn.microsoft.com/en-us/library/ms176089.aspx

หลังจากที่ได้จัดกลุ่ม data type แต่ละประเภทไปแล้วก็ถึงเวลาที่จะเจาะลึกลงไปในข้อมูลแต่ละประเภทแล้วครับ โดยในตอนนี้จะเริ่มกล่าวถึง Data Type แบบ Character strings กันครับ ซึ่ง character strings ทั้งหมดที่จะกล่าวถึงในตอนนี้จะเป็นแบบ non-unicode ทั้งหมดครับ

non-unicode หมายถึงเป็นการเก็บข้อมูลแบบ 8bits

1. char(n) –  ใช้สำหรับเก็บข้อความแบบ fixed length และเป็นแบบ non-unicode หมายความว่าจะเก็บข้อมูลตามที่ได้จองไว้ ไม่ว่าจะกรอกข้อมูลเท่าไหร่ก็ตาม ตัวอย่างเช่น ถ้าเรากำหนด เป็น char(10) นั่นก็จะหมายความว่า จะเก็บ Data ขนาด 10 bytes เสมอ โดยจะกำหนดค่าได้สูงสุดไม่เกิน 8,000 ตัวอักษร

เช่น ถ้าเรากำหนด char(10) แล้วกรอกข้อมูล “Hello” ก็จะเก็บ 10 ตัวอักษร ถึงแม้ว่าคำว่า hello จะมีอยู่แค่ 5 ตัวอักษรก็ตาม

ตัวอย่างการนำไปใช้งาน ควรจะนำไปเก็บข้อมูลที่มีขนาดแน่นอนเช่น รหัสสินค้า หมายเลขโทรศัพท์ เป็นต้น

2. varchar(n) – ใช้สำหรับเก็บข้อความแบบปรับเปลี่ยนตามข้อมูลที่กรอกจริง แต่ไม่เกิน 8,000 ตัวอักษรเหมือน char

โดยจะเก็บข้อมูลตามจริงคือ 5 + 2 = 7 bytes storage ครับ

เช่น ถ้าเรากำหนด varchar(10) แล้วกรอกข้อมูล “Hello” ก็จะเก็บเพียง 5+2 ตัวอักษร แต่สามารถกรอกได้ไม่เกิน 10 ตัวอักษร

ตัวอย่างการนำไปใช้งาน ควรจะนำไปเก็บข้อมูลที่มีขนาดไม่แน่นอนเช่น ชื่อ ที่อยู่ เพราะว่าชื่อแต่ละคนจะมีจำนวนตัวอักษรไม่เท่ากัน จึงทำให้ประหยัดหน่วยความจำมากกว่า เพราะว่าจะเก็บข้อมูลตามจำนวนตัวอักษรที่กรอก

3. varchar(max) – เป็น Data type ใหม่ล่าสุดตั้งแต่ sql 2005 ขึ้นไป โดยจะเก็บข้อมูลแต่จริงๆ แต่ไม่เกิน 2GB

หลักสูตรอบรม SQL Server (click)

Categories: SQL Server
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: