3.2.1 Các loại cơ bản
Tiêu chuẩn SQL hỗ trợ một loạt các built-in các loại, bao gồm:
• char (n): Một chuỗi ký tự dài cố định với lengthn.Thefull người dùng quy định
hình thức, nhân vật, có thể được sử dụng để thay thế.
• varchar ( n): Một chuỗi ký tự chiều dài thay đổi với tối đa người dùng chỉ định
độ dài n. Các hình thức đầy đủ, nhân vật khác nhau, là tương đương.
• int: Một số nguyên (một tập con hữu hạn các số nguyên đó là phụ thuộc vào máy). Các
hình thức đầy đủ, số nguyên, là tương đương.
• smallint:. Một số nguyên nhỏ (một tập hợp con phụ thuộc vào máy của các loại nguyên)
• số (p, d): Một số điểm cố định với độ chính xác người dùng chỉ định. Số gồm ofpdigits (cộng với một dấu hiệu), và d của p chữ số là bên phải
dấu thập phân. Như vậy, số (3,1) cho phép 44.5tobestoredexactly, nhưng
không phải 444.5or0.32 có thể được lưu trữ chính xác trong một lĩnh vực của loại này.
• thực, chính xác kép: Floating-point và dấu chấm động chính xác đôi
số với phụ thuộc vào máy . chính xác
• float (n):. một số điểm nổi, với độ chính xác tại leastndigits
loại khác được đề cập trong phần 4.5.
Mỗi loại có thể bao gồm một giá trị đặc biệt gọi là thenullvalue. Một giá trị null
chỉ ra một giá trị vắng mặt mà có thể tồn tại nhưng phải biết hoặc có thể không tồn tại ở
tất cả. Trong một số trường hợp, chúng ta có thể muốn ngăn cấm các giá trị null từ được nhập vào, như
chúng ta sẽ thấy ngay.
Các chuỗi dài char cửa hàng kiểu dữ liệu cố định. Xem xét, ví dụ, một
thuộc tính A của kiểu char (10). Nếu chúng ta lưu trữ một chuỗi "Avi" trong thuộc tính này, 7 chỗ
được nối vào chuỗi để làm cho nó 10 ký tự. Ngược lại, nếu thuộc tính B
là kiểu varchar (10), và chúng tôi lưu trữ "Avi" trong attribut EB, không có khoảng trống sẽ được
thêm vào. Khi so sánh hai giá trị kiểu char, nếu chúng có độ dài khác nhau
thêm dấu cách sẽ được tự động thêm vào một ngắn hơn để làm cho họ cùng một
kích thước, trước khi so sánh.
Khi so sánh một loại char với một kiểu varchar, người ta có thể mong đợi thêm không gian
để được thêm vào các loại varchar để làm cho độ dài bằng nhau, trước khi so sánh;
tuy nhiên, điều này có thể có hoặc có thể không được thực hiện, tùy thuộc vào hệ thống cơ sở dữ liệu. Như một
kết quả, thậm chí nếu giá trị như nhau "Avi" được lưu trữ trong các thuộc tính A và B trên, một
comparisonA = Bmay trả về false. Chúng tôi khuyên bạn nên luôn luôn sử dụng varchar
loại thay vì kiểu char để tránh những vấn đề này.
đang được dịch, vui lòng đợi..