ประเภทและชนิดข้อมูลใน MSSQL Server
Posted by sunisa | Posted in Database | Posted on 13-07-2009
0
ประเภทและชนิดข้อมูลใน MSSQL Server
ประเภทของข้อมูลใน SQL Server แบ่งออกเป็นกลุ่มดังนี้
1.Exact numerics แบ่งเป็น
-int, bigint, smallint, and tinyint เก็บข้อมูลเลขจำนวนเต็ม
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
bigint |
-2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) |
8 Bytes |
|
int |
-2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) |
4 Bytes |
|
smallint |
-2^15 (-32,768) to 2^15-1 (32,767) |
2 Bytes |
|
tinyint |
0 to 255 |
1 Bytes |
-bit
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
bit |
0 to 1 |
1-2 Bytes |
-decimal and numeric เป็นประเภทข้อมูลที่มีการกำหนดจำนวนหลักตัวเลขและตำแหน่งของทศนิยมไว้อย่างชัดเจน ประกอบด้วย
Decimal[(p[,s])]
numeric[(p[,s])]
p(Precision) คือจำนวนหลักของค่าตัวเลขทั้งหมด ทั้งค่าที่เป็นเลขจำนวนเต็มและเลขทศนิยม หากไม่ได้
ระบุค่าการใช้งานจะเป็น Default ซึ่ง p เป็น 18 และ s เป็น 0
S(Scale) คือ จำนวนหลักของเลขทศนิยม มีค่าอยู่ระหว่าง 0<=s<=p โดย Default มีค่าเป็น 0
|
จำนวนหลัก |
ขนาดข้อมูล |
|
1 – 9 |
5 bytes |
|
10-19 |
9 bytes |
|
20-28 |
13 bytes |
|
29-38 |
17 bytes |
- money จัดเก็บประเภทข้อมูลทางด้านการเงิน
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
money |
-922,337,203,685,477.5808 to 922,337,203,685,477.5807
|
8 bytes
|
|
smallmoney |
- 214,748.3648 to 214,748.3647
|
4 bytes
|
2. Approximate Numerics ประเภทข้อมูลที่จัดเก็บค่าตัวเลขจำนวนเต็มและค่าทศนิยม
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
float |
- 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 |
ขึ้นอยู่กับค่า n |
|
real |
- 3.40E + 38 to -1.18E – 38, 0 and 1.18E – 38 to 3.40E + 38 |
4 Bytes |
3. Date and Time ข้อมูลประเภทวันที่และเวลา
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
date |
Date:January 1, 1 A.D. through December 31, 9999 A.D. |
3 bytes |
|
time |
Time:00:00:00.0000000 through 23:59:59.9999999 |
5 bytes |
|
datetime |
Date:January 1, 1753, through December 31, 9999 Time:00:00:00 through 23:59:59.997 |
8 bytes |
| datetime2 |
Date:January 1,1 AD through December 31, 9999 AD Time:00:00:00 through 23:59:59.9999999 |
6-8 bytes |
| smalldatetime |
Date:January 1, 1900, through June 6, 2079 Time:00:00:00 through 23:59:59 |
4 bytes |
| datetimeoffset |
Date:January 1,1 A.D. through December 31, 9999 A.D. Time:00:00:00 through 23:59:59.9999999 Time zone offset :-14:00 through +14:00 |
10 bytes |
หมายเหตุ: date, time, datetime2, datetimeoffset มีตั้งแต่ SQL Server 2008 ขึ้นไป
4. Character Strings
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
char |
1 ถึง 8,000 ตัวอักษร |
n bytes |
|
varchar |
1 ถึง 8,000 ตัวอักษร |
n+2 bytes |
|
text |
1 ถึง 2,147,483,647 ตัวอักษร |
n bytes |
5. Unicode Character Strings
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
nchar |
1 ถึง 4,000 ตัวอักษร |
n*2 bytes |
|
nvarchar |
1 ถึง 4,000 ตัวอักษร |
n*2 bytes |
|
ntext |
1 ถึง 1,073,741,823 ตัวอักษร |
n*2 bytes |
6. Binary Strings
|
ชนิด |
ค่าที่จัดเก็บ |
ขนาดข้อมูล |
|
binary |
1 ถึง 8,000 bytes |
n bytes |
|
varbinary |
1 ถึง 8,000 bytes |
n bytes |
|
image |
1 ถึง 2,147,483,647 bytes |
n bytes |
7.ชนิดข้อมูลอื่นๆ
- hierarchyid: เพื่อจัดเก็บรหัสตัวแปรของ node ตามรูปแบบ Hierarchy node (SQL Server 2008)
- sql_variant: เป็นข้อมูลที่สามารถจัดเก็บประเภทของข้อมูลที่แตกต่างกันในแต่ละ row ได้ ยกเว้นข้อมูลประเภท text, ntext และ timestamp
- timestamp:เป็นข้อมูลที่ข้อมูลที่จัดเก็บถูกสร้างและแก้ไขด้วยระบบอัตโนมัติ ข้อมูลจะมีขนาด 8 ไบต์ เป็นตัวเลขไบนารี่ที่มีค่าไม่ซ้ำกันในฐานข้อมูล ใช้ในการทำ row versioning
- uniqueidentifier: เก็บข้อมูลชุดตัวเลขฐานสิบหกมีขนาด 16 ไบต์เป็นค่า globally unique identifier (GUID)
- xml: ใช้สำหรับเก้บข้อมูลที่เป็น XML โดยเก็บข้อมูลได้สูงสุดถึง 2 GB (SQL Server 2005 ขึ้นไป)
- cursor: เก็บข้อมูลเอาท์พุตพารามิเตอร์ที่อ้างอิงไปยัง cursor
- table: เก็บข้อมูลผลการทำงานของโพรเซสล่าสุด

