Cấp bậc tác giả:

DATABASE

Các kiểu dữ liệu SQL Server

Được viết bởi QuangIT ngày 15/10/2013 lúc 07:59 PM
Kiểu dữ liệu là chủ đề quan trọng trong hệ thống quản lý cơ sở dữ liệu (DBMS). Dữ liệu định nghĩa kiểu dữ liệu. Có một số kiểu dữ liệu như chuỗi string, image, number,...
  • 0
  • 9217

Các kiểu dữ liệu SQL Server

Giới thiệu
Kiểu dữ liệu là chủ đề quan trọng trong hệ thống quản lý cơ sở dữ liệu (DBMS). Dữ liệu định nghĩa kiểu dữ liệu. Có một số kiểu dữ liệu như chuỗi string, image, number,...  Dữ liệu được phân thành nhiều loại để duy trì đúng cách.

Data
Data là đơn vị nhỏ nhất của thông tin. Trong hệ thống quản lý cơ sở dữ liệu, thông tin hoặc bảng ghi được nhóm lại từ một số dữ liệu đơn vị có liên quan. Trong context data được gọi là field(trường). Mỗi trường có kiểu dữ liệu riêng phụ thuộc vào dữ liệu.

Kiểu Data
Data có kiểu dữ liệu dựa trên hành vi. SQL Server cung cấp tập hợp các kiểu dữ liệu. Chúng được phân loại thành sáu loại khác nhau.

Kiểu dữ liệu nhóm

Numerics chính xác

bigint :
Min value:  -2^63 = -9223372036854775808
Max value:  2^63-1 = 9223372036854775807
Size: 8 bytes

int:
Min value:  -2^31 = -2147483648
Max value:  2^31-1 = 2147483647
Size: 4 bytes

smallint
Min value:  -2^15 = – 32768
Max value:  2^15-1 = 32767
Size: 2 bytes

tinyint
Min value:  0
Max value:  255
Size: 1 byte

bit
Min value:  0
Max value:  1
Size: 1 Byte đến 2 bytes

decimal
Min value:  -10^38 + 1
Max value:  10^38 – 1
Size: Precision 1-9 = 5 bytes, precision 10-19 = 9 bytes, precision 20-28 = 13 bytes, precision 29-38 = 17 bytes

Money
Min value:  -2^63/10000 = – 922337203685477.5808
Max value:  -2^63 – 1/10000 = 922337203685477.5807
Size: 8 bytes

smallmoney
Min value:  -2^31/10000 = -214748.3648
Max value:  2^31-1/10000 = 214748.3647
Size: 4 bytes

numeric  / decimal
Min value:  - 10^38 +1
Max value:  10^38 – 1
Size: Precision 1 – 9 = 5 bytes, precision 10 –19 = 9 bytes, precision 20 – 28 = 13 bytes and precision 29 –38 = 17 bytes.

Numerics xấp xỉ

float
Range: – 3.40E + 38 to -1.18E – 38, 0 and 1.18E – 38 to 3.40E + 38
Size: 4 bytes

real
Range: – 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308
Size: Precision 1 – 24 = 7 bytes, precision 25 –53 = 15 bytes

Thời gian

datetime
Min value:  1753-01-01 00:00:00.000
Max value:  9999-12-31 23:59:59.997
Size:8 bytes

smalldatetime
Min value:  -2^31/10000 = -214748.3648
Max value:  2^31-1/10000 = 214748.3647
Size: 4 bytes

date
Min value:  0001-01-01
Max value:  9999-12-31
Size: 3 bytes

time
Min value:  00:00:00.0000000
Max value:  23:59:59.9999999
Size: 3 bytes

datetime2
Min value:  0001-01-01 00:00:00.0000000
Max value:  9999-12-31 23:59:59.9999999
Size: Precision 1-2 = 6 bytes, precision 3-4 = 7 bytes and precision 5-7 = 8 bytes

datetimeoffset
Min value:  0001-01-01 00:00:00.0000000 -14:00
Max value:  9999-12-31 23:59:59.9999999 +14:00
Size: Precision 1-2 = 8 bytes precision 3-4 = 9 bytes precision 5-7 = 10 bytes

Chuỗi Ký tự

char
Min value:  0 char
Max value:  8000 chars
Size: Defined width

varchar
Min value:  0 char
Max value:  8000 chars
Size: 2 bytes + number of chars

varchar(MAX)
Min value:  0 char
Max value:  2^31 = 2147483648 chars
Size: 2 bytes + number of chars

text
Min value:  0 char
Max value:  2,147,483,647 chars
Size: 4 bytes + number of chars

Chuỗi ký tự Unicode 

nchar
Min value:  0 char
Max value:  4000 chars
Size Defined width x 2

nvarchar
Min value:  0 char
Max value:  4000 chars
Size: Defined width x 2

nvarchar(MAX)
Min value:  0 char
Max value:  2^30 = 1073741824 chars
Size: 4 bytes + number of chars

ntext
Min value:  0 char
Max value:  1,073,741,823 chars

Chuỗi nhị phân

binary
Min value:  0 byte
Max value:  8000 bytes
Size: n bytes (where n is in the range of 0–8000)

varbinary
Min value:  0 byte
Max value:  8000 bytes
Size: n +2 bytes (where n is in the range of 0–8000)

varbinary(MAX)
Min value:  0 byte
Max value:  2^31 = 2147483648 bytes
Size: n + 2 bytes (where n is in the range of 0–8000)

Image
Min value:  0 byte
Max value:  2,147,483,647 bytes
Size: 0 to 2,147,483,647 bytes

Các kiểu dữ liệu khác 
sql_variant: Có thể lưu trữ bất kỳ loại dữ liệu khác như sql_variant, text, ntext, image, và timestamp. 
Size: Lên đến 8,000 bytes

cursor: Lưu trữ tham chiếu đến con trỏ.

timestamp: timestamp là loại dữ liệu tự động tạo ra nhị phân duy nhất trong cơ sở dữ liệu. 
Size: 8 bytes

uniqueidentifier: Lưu trữ khóa toàn cục duy nhất unique identifier.
Size: 2 bytes

xml: Lưu trữ tài liệu định dạng XML
Size: 0 to 2GB

Kết luận
Hầu hết các ứng dụng cần đến cơ sở dữ liệu. Hơn nữa, nếu bạn muốn trở thành nhà thiết kế cơ sở dữ liệu tốt, bạn cần phải biết tất cả các kiểu dữ liệu và giá trị min và max.

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML