Kiểu dữ liệu char trong SQL Server

Char là kiểu dữ liệu dạng chuỗi có độ dài cố định thường được sử dụng trong cơ sở dữ liệu. Vậy kiểu dữ liệu char trong SQL server là gì? Cú pháp, ví dụ ra sao? Cùng Comdy tìm hiểu chi tiết trong bài viết này bạn nhé.

Tổng quan về kiểu dữ liệu char trong SQL Server

Kiểu dữ liệu char trong SQL Server
Char là kiểu dữ liệu dạng chuỗi có độ dài cố định thường được sử dụng trong cơ sở dữ liệu

Char là kiểu dữ liệu gì? Nếu bạn muốn lưu trữ dữ liệu chuỗi có độ dài cố định, không phải Unicode, bạn sử dụng kiểu dữ liệu CHAR SQL Server:

CHAR(n)

Trong cú pháp này, n chỉ định độ dài chuỗi nằm trong khoảng từ 1 đến 8.000.

Vì n là tùy chọn, nếu không chỉ định nó trong định nghĩa dữ liệu hoặc câu lệnh khai báo biến, giá trị mặc định của nó là 1. Bạn chỉ nên sử dụng kiểu dữ liệu sql CHAR khi kích thước của các giá trị trong cột được cố định.

Khi bạn INSERT một giá trị chuỗi vào một cột kiểu sql CHAR. Nếu độ dài của giá trị chuỗi nhỏ hơn độ dài được chỉ định trong cột, SQL Server sẽ thêm khoảng trắng ở cuối giá trị chuỗi vào độ dài được khai báo trong cột. Tuy nhiên, khi bạn chọn giá trị chuỗi này, SQL Server sẽ loại bỏ các dấu cách ở cuối trước khi trả lại.

Mặt khác, nếu bạn chèn một giá trị có độ dài vượt quá độ dài cột, SQL Server sẽ đưa ra thông báo lỗi.

Lưu ý rằng ISO synonym của CHAR là CHARACTER vì vậy bạn có thể sử dụng chúng thay thế cho nhau.

Ví dụ về kiểu dữ liệu char SQL Server

Ví dụ về kiểu dữ liệu char SQL Server
Lấy ví dụ cụ thể về kiểu dữ liệu char SQL Server

Câu lệnh sau tạo một bảng mới có chứa một cột kiểu char(n) in sql:

CREATE TABLE test.sql_server_char (
    val CHAR(3)
);

Lưu ý rằng nếu bạn không có lược đồ test trong cơ sở dữ liệu, bạn có thể tạo nó bằng cách sử dụng câu lệnh sau trước khi tạo bảng sql_server_char:

CREATE SCHEMA test; 
GO

Để chèn một chuỗi ký tự có độ dài cố định vào cột kiểu char(n) in sql, bạn sử dụng câu lệnh INSERT như sau:

INSERT INTO test.sql_server_char (val)
VALUES ('ABC');

Câu lệnh đã hoạt động như mong đợi.

Câu lệnh sau cố gắng chèn một chuỗi ký tự mới có độ dài vượt quá độ dài cột:

INSERT INTO test.sql_server_char (val)
VALUES ('XYZ1');

SQL Server sẽ thông báo lỗi sau:

String or binary data would be truncated.
The statement has been terminated.

Câu lệnh sau sẽ chèn ký tự ‘A’ vào cột val của bảng test.sql_server_char:

INSERT INTO test.sql_server_char (val)
VALUES ('A');

Trong SQL Server, hàm LEN trả về số ký tự trong một cột được chỉ định loại trừ các khoảng trắng ở cuối và hàm DATALENGTH trả về số byte.

Xem câu lệnh sau:

SELECT
    val,
    LEN(val) len,
    DATALENGTH(val) data_length
FROM
    sql_server_char;

Ý nghĩa của char(1) SQL server

Trong SQL Server, kiểu dữ liệu char(1) là một kiểu dữ liệu kí tự có độ dài cố định, trong đó chỉ chứa một kí tự. Nếu bạn khai báo một cột với kiểu dữ liệu char(1), nó sẽ chiếm chính xác một byte bộ nhớ và luôn chứa đúng một kí tự.

Ví dụ:

CREATE TABLE Users
(
    UserID INT PRIMARY KEY,
    UserName NVARCHAR(50),
    Gender CHAR(1),
    Status CHAR(1)
);
INSERT INTO Users (UserID, UserName, Gender, Status)
VALUES (1, ‘John Doe’, ‘M’, ‘A’);

Kiểu dữ liệu INT trong SQL server

Kiểu dữ liệu INT trong SQL server
Kiểu dữ liệu INT trong SQL được sử dụng để lưu trữ giá trị số nguyên

Kiểu dữ liệu INT trong SQL được sử dụng để lưu trữ giá trị số nguyên. Kiểu dữ liệu này có dung lượng 4 byte và có thể lưu trữ giá trị từ -2,147,483,648 đến 2,147,483,647.

Ví dụ:
CREATE TABLE ExampleTable
(
    ID INT PRIMARY KEY,
    ValueColumn INT
);
INSERT INTO ExampleTable (ID, ValueColumn)
VALUES (1, 100),
       (2, -500),
       (3, 999999);

Kiểu dữ liệu money trong SQL server

Money là một trong số các kiểu dữ liệu trong SQL. Trong SQL Server, kiểu dữ liệu MONEY được sử dụng để lưu trữ giá trị tiền tệ. Kiểu dữ liệu này được thiết kế để lưu trữ các giá trị tiền tệ với độ chính xác cố định.

Ví dụ:
CREATE TABLE FinancialData
(
    TransactionID INT PRIMARY KEY,
    Amount MONEY
);
INSERT INTO FinancialData (TransactionID, Amount)
VALUES (1, 100.50),
       (2, -50.75),
       (3, 999.99);

Kiểu dữ liệu decimal trong SQL server

Kiểu dữ liệu decimal trong SQL server
Kiểu dữ liệu decimal trong SQL server được sử dụng khi bạn cần lưu trữ giá trị với độ chính xác cố định
Kiểu dữ liệu DECIMAL trong SQL dùng để lưu trữ các giá trị số có dấu và dấu chấm động. Nó được sử dụng khi bạn cần lưu trữ giá trị với độ chính xác cố định, chẳng hạn như lưu trữ giá trị tiền tệ, phần trăm, hoặc các giá trị có dấu chấm động với độ chính xác cụ thể.

Cú pháp: DECIMAL(p, s)

Trong đó:

  • p là tổng số chữ số (tính cả phần trước và sau dấu chấm).
  • s là số chữ số sau dấu chấm.

Ví dụ:

CREATE TABLE ProductPrices

(
    ProductID INT PRIMARY KEY,
    Price DECIMAL(10, 2) — Số 10 là tổng số chữ số, 2 là số chữ số sau dấu chấm
);
INSERT INTO ProductPrices (ProductID, Price)
VALUES (1, 19.99),
       (2, 39.95),
       (3, 9.50);

Kiểu dữ liệu bit trong SQL server

Kiểu dữ liệu bit trong SQL server
Kiểu dữ liệu bit trong SQL server được sử dụng để lưu trữ giá trị logic

BIT được sử dụng để lưu trữ giá trị logic có thể là True (1) hoặc False (0). Nó thường được sử dụng để biểu diễn các trạng thái như “kích hoạt” hoặc “tắt”, “đúng” hoặc “sai”, “có” hoặc “không”.

Ví dụ:

CREATE TABLE Employee
(
    EmployeeID INT PRIMARY KEY,
    IsActive BIT
);
INSERT INTO Employee (EmployeeID, IsActive)
VALUES (1, 1), — Kích hoạt
       (2, 0); — Tắt

Kiểu dữ liệu float trong SQL server

Kiểu dữ liệu FLOAT lưu trữ giá trị số thực với dấu chấm động. Kiểu dữ liệu này thường được sử dụng khi cần lưu trữ các giá trị có phạm vi rộng và có độ chính xác không quan trọng.

Cú pháp:

FLOAT [ (n) ]

Ví dụ:

CREATE TABLE Product
(
    ProductID INT PRIMARY KEY,
    Price FLOAT
);
INSERT INTO Product (ProductID, Price)
VALUES (1, 19.99),
       (2, 39.95),
       (3, 9.50);

Trong ví dụ này, cột Price được khai báo với kiểu dữ liệu FLOAT, và nó có thể lưu trữ các giá trị số thực với dấu chấm động.

Kết lại

Trên đây là toàn bộ chia sẻ của Comdy về kiểu dữ liệu char trong SQL server. Hi vọng những thông tin, kiến thức trong bài viết này là bổ ích và có ý nghĩa với mọi người. Xin cám ơn vì đã theo dõi và ủng hộ.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *