Kiểu dữ liệu DATE trong SQL Server
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATE
trong SQL Server để lưu trữ dữ liệu ngày tháng trong một bảng.
Giới thiệu về kiểu dữ liệu DATE trong SQL Server
Để lưu trữ dữ liệu ngày tháng trong cơ sở dữ liệu, bạn sử dụng kiểu dữ liệu DATE
trong SQL Server . Cú pháp của kiểu dữ liệu DATE
như sau:
DATE
Không giống như kiểu dữ liệu DATETIME2
, kiểu dữ liệu DATE
chỉ có thành phần ngày tháng. Phạm vi của một giá trị kiểu DATE
là từ January 1, 1 CE (0001-01-01)
đến hết December 31, 9999 CE (9999-12-31)
.
Cần 3 byte để lưu trữ một giá trị kiểu DATE
. Định dạng chuỗi chữ mặc định của một giá trị kiểu DATE
như sau:
YYYY-MM-DD
Ở định dạng này:
YYYY
là bốn chữ số đại diện cho một năm, nằm trong khoảng từ 0001 đến 9999.MM
là hai chữ số đại diện cho một tháng trong năm, nằm trong khoảng từ 01 đến 12.DD
là hai chữ số đại diện cho một ngày trong tháng được chỉ định, trong khoảng từ 01 đến 31, tùy thuộc vào tháng.
Ví dụ về kiểu dữ liệu DATE trong SQL Server
Truy vấn dữ liệu từ một bảng dựa trên các giá trị kiểu DATE
Hãy xem bảng sales.orders
từ cơ sở dữ liệu mẫu:

Ví dụ sau trả về tất cả các đơn đặt hàng có ngày đặt hàng trước ngày 05 tháng 1 năm 2016:
SELECT
order_id,
customer_id,
order_status,
order_date
FROM
sales.orders
WHERE order_date < '2016-01-05'
ORDER BY
order_date DESC;
Đây là kết quả:

Sử dụng kiểu dữ liệu DATE để định nghĩa cột trong bảng
Câu lệnh sau tạo một bảng có tên sales.list_prices
có hai cột kiểu DATE
:
CREATE TABLE sales.list_prices (
product_id INT NOT NULL,
valid_from DATE NOT NULL,
valid_to DATE NOT NULL,
amount DEC (10, 2) NOT NULL,
PRIMARY KEY (
product_id,
valid_from,
valid_to
),
FOREIGN KEY (product_id)
REFERENCES production.products (product_id)
);
Câu lệnh INSERT
sau minh họa cách chèn một hàng có giá trị ngày vào bảng:
INSERT INTO sales.list_prices (
product_id,
valid_from,
valid_to,
amount
)
VALUES
(
1,
'2019-01-01',
'2019-12-31',
400
);
Trong hướng dẫn này, bạn đã học cách sử dụng kiểu dữ liệu DATE
trong SQL Server để lưu trữ dữ liệu ngày tháng trong bảng.