Các Kiểu Dữ Liệu Trong SQL Server : Cập Nhật Cực Đầy Đủ Và Chi ...
Khái niệm SQL Server là gì?
SQL Server là viết tắt của cụm từ "Structured Query Language server," một công cụ mạnh mẽ được thiết kế để quản lý dữ liệu. Được sử dụng phổ biến trong nhiều lĩnh vực trong thời đại công nghệ hiện đại, SQL Server là một giải pháp đáng tin cậy cho việc xử lý và quản lý dữ liệu quy mô lớn.
SQL, là ngôn ngữ không yêu cầu người dùng phải có kỹ năng đặc biệt để truy cập cơ sở dữ liệu. Đối với hầu hết người sử dụng, họ đều nhấn mạnh rằng giao diện thông báo của SQL Server là dễ sử dụng và rất ít gặp lỗi. SQL cung cấp một loạt lệnh đa dạng để thực hiện các tác vụ liên quan đến dữ liệu, bao gồm việc xóa, chèn, cập nhật hàng trong một quan hệ, cũng như thêm, xóa, chỉnh sửa nhanh chóng nhiều đối tượng bên trong cơ sở dữ liệu.
SQL Server không chỉ giúp kiểm soát quyền truy cập vào cơ sở dữ liệu mà còn đảm bảo tính bảo mật, độ nhất quán và mối quan hệ, ràng buộc của cơ sở dữ liệu. Các đối tượng chính trong SQL Server thường là các bảng dữ liệu, với hàng và cột quen thuộc. Trong cấu trúc này, cột dữ liệu và kiểu dữ liệu giúp xác định và tạo ra cấu trúc của bảng, và khi tổ chức thành hệ thống phục vụ một hoặc nhiều mục đích cụ thể, nó sẽ trở thành một cơ sở dữ liệu.
- Tham khảo thêm : Cách gỡ bỏ hoàn toàn SQL Server 2014
Kiểu dữ liệu trong SQL Server là gì
Trong SQL Server, kiểu dữ liệu được sử dụng để xác định loại dữ liệu mà một cột có thể chứa. Mỗi cột trong bảng cần được định rõ kiểu dữ liệu để đảm bảo tính chính xác và hiệu quả khi lưu trữ và xử lý dữ liệu. Dưới đây là một số kiểu dữ liệu phổ biến trong SQL Server:
-
INT (Integer): Là kiểu dữ liệu dành cho số nguyên không có phần thập phân.
-
VARCHAR(n): Là kiểu dữ liệu dành cho chuỗi ký tự có độ dài tối đa n ký tự.
-
CHAR(n): Tương tự như VARCHAR, nhưng có độ dài cố định là n ký tự.
-
FLOAT: Là kiểu dữ liệu dành cho số thực với độ chính xác tương đối.
-
DATE: Là kiểu dữ liệu để lưu trữ ngày trong định dạng 'YYYY-MM-DD'.
-
TIME: Là kiểu dữ liệu để lưu trữ thời gian trong định dạng 'HH:MI:SS'.
-
DATETIME: Là sự kết hợp của DATE và TIME để lưu trữ cả ngày và thời gian.
-
BOOLEAN: Là kiểu dữ liệu chỉ có hai giá trị: TRUE hoặc FALSE.
-
DECIMAL(p, s): Là kiểu dữ liệu dành cho số thực với p là tổng số chữ số và s là số chữ số sau dấu thập phân.
-
BLOB (Binary Large Object): Là kiểu dữ liệu dành cho lưu trữ dữ liệu nhị phân, chẳng hạn như hình ảnh hoặc tệp tin.
Tiếp sau đây, HostingViet sẽ đi vào chi tiết hơn các kiểu dữ liệu trong SQL Server:
Các kiểu dữ liệu trong SQL Server bao gồm những gì?
Kiểu dữ liệu chuỗi các ký tự
Cú pháp của kiểu dữ liệu | Kích thước của kiểu dữ liệu | Chú thích |
CHAR(kt) | Tối đa 8.000 ký tự | kt là kích thước hay số ký tự có thể lưu trữ. Độ dài của chuỗi ký tự là cố định. Không thể dùng được cho các ký tự Unicode. |
VARCHAR(kt) VARCHAR(max) | Tối đa 8.000 ký tự hoặc tùy thuộc vào con số tối đa. | kt là số ký tự có thể lưu trữ. Độ dài chuỗi ký tự không cố định. Nếu chỉ định là max thì kích thước tối đa sẽ là 2GB. Không thể dùng được cho các ký tự Unicode. |
TEXT | Tối đa là 2GB. | Độ dài chuỗi ký tự không cố định. Không thể dùng được cho các ký tự Unicode. |
NCHAR(kt) | Tối đa là 4000 ký tự. | Độ dài chuỗi ký tự không cố định. Có thể dùng được cho các ký tự Unicode. |
NVARCHAR(kt) hoặc NVARCHAR(max) | Tối đa 4.000 ký tự hoặc tùy thuộc vào con số tối đa. | kt là số ký tự có thể lưu trữ. Độ dài dữ liệu không cố định. Nếu chỉ định là max thì kích thước tối đa sẽ là 2GB. Không thể dùng được cho các ký tự Unicode. |
NTEXT | Kích thước tối đa là 1.073.741.823 bytes. | Độ dài chuỗi ký tự là tùy biến. Có thể dùng được cho các ký tự Unicode. |
BINARY(kt) | Số ký tự tối đa là 8000. | kt là số ký tự có thể lưu trữ. Độ dài chuỗi ký tự cố định. Nếu sử dụng dấu cách thì ta cần để bù vào phần trống sao cho đủ số ký tự. Có thể nhập được kiểu dữ liệu nhị phân. |
VARBINARY(kt) VARBINARY(max) | Tối đa 8.000 ký tự hoặc tùy thuộc vào con số tối đa. | kt là số ký tự có thể lưu trữ. Độ dài chuỗi ký tự là tùy biến. Nếu chỉ định là max thì kích thước tối đa sẽ là 2GB. Có thể nhập được kiểu dữ liệu hệ nhị phân. |
IMAGE | Tối đa là 2GB. | Độ dài chuỗi ký tự cố định. Sử dụng kiểu dữ liệu hệ nhị phân. |
Kiểu dữ liệu dạng số
Cú pháp của kiểu dữ liệu | Phạm vi của kiểu dữ liệu | Chú thích |
BIT | 0 hoặc 1 hoặc NULL | |
TINYINT | Từ 0 đến 2^8-1 (hay 255). | Số nguyên (Z) |
SMALLINT | Từ -2^15 (hay -32.768) Đến 2^15-1 (hay 32.767) | Số nguyên (Z) |
INT | Từ -2^31 (-2.147.483.648) Đến 2^31-1 (2.147.483.647). | Số nguyên (Z) |
BIGINT | Từ -2^63 (-9.223.372,036,854,775,808) Đến 2^63-1 (9,223,372,036,854,775,807) | Số nguyên (Z) |
DECIMAL(m,d) | m sẽ được mặc định là 18 nếu có sự chỉ định cụ thể từ phía người dùng. d được mặc định là 0 nếu có sự chỉ định cụ thể từ phía người dùng. | m tổng số lượng các chữ số. d là số lượng các chữ số nằm bên phải của dấu phẩy. |
DEC(m,d) | m sẽ được mặc định là 18 nếu có sự chỉ định cụ thể từ phía người dùng. d được mặc định là 0 nếu có sự chỉ định cụ thể từ phía người dùng. | Tương đương với kiểu dữ liệu DECIMAL(m,d) ở trên. m tổng số lượng các chữ số. d là số lượng các chữ số nằm bên phải của dấu phẩy. |
NUMERIC(m,d) | m sẽ được mặc định là 18 nếu có sự chỉ định cụ thể từ phía người dùng. d được mặc định là 0 nếu có sự chỉ định cụ thể từ phía người dùng. | Được hiểu tương đương với kiểu dữ liệu DECIMAL. m tổng số lượng các chữ số. d là số lượng các chữ số nằm bên phải của dấu phẩy. |
FLOAT(n) | Số dấu phẩy động n sẽ được mặc định là 53 nếu có sự chỉ định cụ thể từ phía người dùng. | n là số lượng các bit được lưu trữ thuộc trong một kí hiệu hóa học. |
REAL | Tương đương với kiểu dữ liệu FLOAT(24) | |
SMALLMONEY | Từ -214,748.3648 Đến 214,748.3647 | Số thập phân |
MONEY | Từ -922,337,203,685,477.5808 Đến 922,337,203,685,477.5807 | Số thập phân |
Một vài kiểu dữ liệu date trong SQL phổ biến với người dùng
Bảng dưới đây sẽ giới thiệu một vài kiểu dữ liệu date trong SQL phổ biến được người dùng ưa chuộng sử dụng:
Cú pháp của kiểu dữ liệu | Phạm vi của kiểu dữ liệu | Chú thích |
DATE | Dữ liệu ngày được lấy từ ừ '0001-01-01' đến '9999-12-31'. | Dữ liệu sau khi nhập đủ sẽ được hiển thị dưới dạng ‘YYYY-MM-DD’ |
DATETIME | Từ '1753-01-01 00:00:00' Đến '9999-12-31 23:59:59'. Dữ liệu giờ được lấy từ '00:00:00' cho đến '23:59:59.997' | Dữ liệu sau khi nhập đủ sẽ được hiển thị dưới dạng ‘YYYY-MM-DD hh:mm:ss[.mmm]’. |
DATETIME2 | Dữ liệu ngày được lấy từ ừ '0001-01-01' đến '9999-12-31'. Dữ liệu giờ lấy từ '00:00:00' đến '23:59:59:9999999'. | Dữ liệu sau khi nhập đủ sẽ được hiển thị dưới dạng ‘YYYY-MM-DD [hh:mm:ss]’ (phần thập phân). |
SMALLDATETIME | Dữ liệu ngày từ '1900-01-01' đến '2079-06-06'. Dữ liệu giờ từ '00:00:00' đến '23:59:59'. | Dữ liệu sau khi nhập đủ sẽ được hiển thị dưới dạng ‘YYYY-MM-DD hh:mm:ss’. |
TIME | Dữ liệu ngày từ '0001-01-01' đến '9999-12-31'. Dữ liệu giờ từ '00:00:00.0000000' đến '23:59:59.9999999'. | Dữ liệu sau khi nhập đủ sẽ được hiển thị dưới dạng 'YYYY-MM-DD hh:mm:ss[.nnnnnnn]' |
DATETIMEOFFSET | Dữ liệu ngày từ '0001-01-01' đến '9999-12-31'. Dữ liệu giờ giá trị từ '00:00:00' đến '23:59:59:9999999'. Dữ liệu múi giờ lấy từ -14:00 đến +14:00. | Dữ liệu chính xác tới số thập phân của giây. Dữ liệu sau khi nhập đủ sẽ được hiển thị dưới dạng YYYY-MM-DD hh:mm:ss[.nnnnnnn]' [{+|-}hh:mm |
Xem thêm:
- Hướng dẫn tạo tài khoản SQL Server
- Trigger trong SQL là gì
Những dữ liệu quan trọng thường dùng trong các kiểu dữ liệu trong SQL Server
Kiểu dữ liệu Demical trong SQL
Kiểu dữ liệu demical trong SQL được hiểu là các giá dữ liệu được lưu trữ dưới dạng thập phân và giữ giá trị thập phân.
Chúng cung cấp các loại dữ liệu sau đây:
- Decimal and numeric
- Float and real
Decimal and numeric
- Decimal [(p [, s])] và numeric[(p [, s])]
- p (độ chính xác) -> tổng số tối đa số chữ số thập phân có thể được lưu trữ, cả hai bên trái và bên phải của số thập phân. Độ chính xác phải là một giá trị từ 1 đến độ chính xác tối đa là 38. Độ chính xác mặc định là 18.
- s (scale) -> số lượng tối đa các chữ số thập phân có thể được lưu trữ ở bên phải của số thập phân. Quy mô phải là một giá trị từ 0 đến p. Quy mô có thể được xác định chỉ khi độ chính xác được quy định cụ thể. Quy mô mặc định là 0.
- Các kích thước lưu trữ của các kiểu Decimal và Numeric khác nhau, dựa vào độ chính xác, như thể hiện sau đây:
Precision | Storage bytes |
1 to 9 | 5 |
10 to 19 | 9 |
20 to 28 | 13 |
29 to 38 | 17 |
Lưu ý: numeric có chức năng tương đương với decimal.
Float and real
- Float [(n)] và real
- Ước tính số kiểu dữ liệu sử dụng với dữ liệu điểm số nổi.
- Dữ liệu dấu chấm động là gần đúng, do đó, không phải tất cả các giá trị trong phạm vi kiểu dữ liệu có thể được đại diện chính xác.
- Trong đó n là số bit được sử dụng để lưu trữ các mantissa của số float trong ký hiệu khoa học, và do đó, dictates chính xác và kích thước lưu trữ.
- Nếu n được quy định cụ thể sau đó nó phải là một giá trị giữa 1 và 53.
- Giá trị mặc định của n là 53.
n value | Precision | Storage size |
1 to 24 | 7 digits | 4 bytes |
25 to 53 | 15 digits | 8 bytes |
Kiểu dữ liệu money trong SQL
Trong các kiểu dữ liệu thì kiểu dữ liệu money trong SQL cũng là một trong những dữ liệu được nhiều người sử dụng và những người học về SQL nên biết tới.
Kiểu dữ liệu money trong SQL có tác dụng dùng để lưu trữ các loại tiền tệ hoặc ngoại tệ giữ giá trị tiền tệ. Nó cung cấp kiểu dữ liệu smallmoney và money với kích thước 4 và 8 byte tương ứng. Cụ thể được thể hiện dưới bảng sau:
Monetary Types | Bytes |
Smallmoney | 4 |
Money | 8 |
Kiểu dữ liệu date trong SQL
Kiểu dữ liệu date trong SQL thể hiện các giá trị ngày và thời gian giữ các giá trị ngày và thời gian của một ngày.
Kiểu dữ liệu này cung cấp các loại dữ liệu sau đây:
- Smalldatetime
- Datetime
Data type | Range | Accuracy |
Smalldatetime | January 1, 1900, through June 6, 2079 | 1 minute |
Datetime | January 1, 1753, through December 31, 9999 | 3.33 milliseconds |
Smalldatetime
- Các kiểu dữ liệu smalldatetime lưu trữ ngày tháng và thời gian trong ngày với độ chính xác ít hơn datetime.
- Công cụ cơ sở dữ liệu lưu trữ các giá trị smalldatetime như hai 2-byte số nguyên.
- 2 byte đầu tiên lưu trữ số ngày sau 01 tháng 1 năm 1900.
- 2 byte khác lưu các số phút kể từ nửa đêm.
Datetime
- Các giá trị với các kiểu dữ liệu datetime được lưu trữ nội bộ bởi các công cụ cơ sở dữ liệu Microsoft Server SQL 2005 là hai số nguyên 4-byte.
- 4 byte đầu tiên lưu trữ số lượng ngày trước hoặc sau ngày cơ sở: 01 Tháng Một năm 1900.
- Ngày cơ sở các tài liệu tham khảo hệ thống ngày.
- 4 byte lưu trữ thời gian trong ngày biểu diễn như là số mili giây sau nửa đêm.
Kiểu dữ liệu hình ảnh trong SQL
Kiểu dữ liệu hình ảnh trong SQL nằm trong dữ liệu Binary Values. Giá trị nhị phân giữ hình ảnh các giá trị nhị phân như thế, clip âm thanh và video clip.
Kiểu nhị phân giá trị là:
- Binary
- Varbinary
- Image
Binary
- Nhị phân [(n)]
- Độ dài cố định dữ liệu nhị phân với chiều dài n byte, trong đó n là giá trị từ 1 đến 8000.
- Kích thước lưu trữ là n byte.
Varbinary
- varbinary [(n | max)]
- Độ dài thay đổi dữ liệu nhị phân.
- n có thể có giá trị từ 1 đến 8000.
- Kích thước lưu trữ tối đa là 2 ^ 31-1 bytes.
- Kích thước lưu trữ thực tế của dữ liệu nhập vào + 2 byte.
Image
- Đó là bằng varbinary (max) kiểu dữ liệu này sẽ được gỡ bỏ trong một phiên bản tương lai của Microsoft SQL Server.
- Tránh sử dụng các loại dữ liệu trong phát triển sử dụng thay vì. varbinary (max).
Trên đây là các kiểu dữ liệu trong SQL Server. Nếu như bạn còn thắc mắc gì về SQL Server thì hãy gọi về hotline 0356-95-86-88 hoặc truy cập website https://hostingviet.vn/ để được giải đáp nhanh nhất.
Từ khóa » Dữ Liệu Giờ Trong Sql
-
Hàm Xử Lý DATE/TIME Trong SQL - Phần 1
-
Kiểu Dữ Liệu TIME Trong SQL Server
-
[Tự Học SQL] Làm Việc Với Kiểu Ngày, Giờ(Date) Trong SQL - Cafedev
-
Hàm TIME() Trong SQL - Học Sql Cơ Bản đến Nâng Cao - VietTuts
-
Xử Lý Date Trong SQL - Học Sql Cơ Bản đến Nâng Cao - VietTuts
-
Tất Tần Tật Về Xử Lý Ngày Tháng (DATE/TIME) Trong SQL
-
Sử Dụng Kiểu Dữ Liệu Mở Rộng Ngày/Giờ - Microsoft Support
-
Kiểu Dữ Liệu Datetime Trong Sql, Dữ Liệu Và Cấu Trúc Trong Mysql
-
Hàm Lấy Giờ Trong Sql Server - Stockonmobile
-
[NEW] Hàm Xử Lý Date Và Time Trong SQL | Lấy Giờ Trong Sql - Pickpeup
-
Các Hàm Làm Việc Với Kiểu Dữ Liệu Ngày Tháng/ Thời Gian Trong SQL
-
So Sánh Thời Gian Trong Sql
-
Hàm Xử Lý DATE/TIME Trong SQL - Phần 2
-
Tính Toán Và Xử Lý Ngày Tháng Bằng Câu Lệnh SQL Như Thế Nào?