Trong hướng dẫn này, bạn sẽ học cách sử dụng DATETIME2
trong SQL Server để lưu trữ cả dữ liệu ngày và giờ trong một bảng.
Để lưu trữ cả ngày và giờ trong cơ sở dữ liệu, bạn sử dụng kiểu dữ liệu DATETIME2
trong SQL Server .
Cú pháp của kiểu dữ liệu DATETIME2
như sau:
DATETIME2(fractional seconds precision)
Độ chính xác phân số giây là tùy chọn. Nó nằm trong khoảng từ 0 đến 7.
Câu lệnh sau minh họa cách tạo bảng bao gồm một cột kiểu DATETIME2
:
CREATE TABLE table_name (
...
column_name DATETIME2(3),
...
);
DATETIME2
có hai thành phần: ngày và giờ.
Kích thước lưu trữ của một giá trị DATETIME2
phụ thuộc vào độ chính xác của phân số giây. Nó yêu cầu 6 byte cho độ chính xác nhỏ hơn 3, 7 byte cho độ chính xác từ 3 đến 4 và 8 byte cho tất cả các chính xác khác.
Định dạng chuỗi ký tự mặc định của chuỗi ký tự DATETIME2
như sau:
YYYY-MM-DD hh:mm:ss[.fractional seconds]
Ở định dạng này:
YYYY
là một số có bốn chữ số đại diện cho một năm, ví dụ: 2022. Nó nằm trong khoảng từ 0001 đến 9999.MM
là một số có hai chữ số đại diện cho một tháng trong năm, ví dụ: 12. Nó nằm trong khoảng từ 01 đến 12.DD
là một số có hai chữ số đại diện cho một ngày của một tháng cụ thể, ví dụ: 23. Nó nằm trong khoảng từ 01 đến 31.hh
là một số có hai chữ số đại diện cho giờ. Nó nằm trong khoảng từ 00 đến 23.mm
là một số có hai chữ số đại diện cho phút. Nó nằm trong khoảng từ 00 đến 59.ss
là một số có hai chữ số đại diện cho thứ hai. Nó nằm trong khoảng từ 00 đến 59.[.fractional seconds]
bằng 0 đến một số có bảy chữ số nằm trong khoảng từ 0 đến 9999999.Câu lệnh sau tạo một bảng mới có một cột created_at
có kiểu dữ liệu là DATETIME2
:
CREATE TABLE production.product_colors (
color_id INT PRIMARY KEY IDENTITY,
color_name VARCHAR (50) NOT NULL,
created_at DATETIME2
);
Để chèn ngày và giờ hiện tại vào cột created_at
, bạn sử dụng câu lệnh INSERT
sau với hàm GETDATE
():
INSERT INTO production.product_colors (color_name, created_at)
VALUES ('Red', GETDATE());
Hàm GETDATE
() tương tự như hàm NOW()
trong các hệ thống cơ sở dữ liệu khác như MySQL
Để chèn một giá trị chữ vào cột DATETIME2
, bạn sử dụng câu lệnh sau:
INSERT INTO production.product_colors (color_name, created_at)
VALUES ('Green', '2018-06-23 07:30:20');
Nếu bạn muốn đặt giá trị mặc định của cột created_at
thành ngày và giờ hiện tại, bạn sử dụng câu lệnh ALTER TABLE
sau:
ALTER TABLE production.product_colors
ADD CONSTRAINT df_current_time
DEFAULT CURRENT_TIMESTAMP FOR created_at;
Trong câu lệnh này, chúng ta sử dụng CURRENT_TIMESTAMP
làm giá trị mặc định cho cột created_at
. Lưu ý rằng giá trị CURRENT_TIMESTAMP
trả về cùng giá trị với hàm GETDATE
().
Bây giờ, khi bạn chèn một hàng mới vào bảng mà không chỉ định giá trị cho cột created_at
, SQL Server sẽ sử dụng giá trị ngày và giờ hiện tại cho cột đó:
INSERT INTO production.product_colors (color_name)
VALUES ('Blue');
Trong hướng dẫn này, bạn đã học cách sử dụng kiểu dữ liệu DATETIME2
trong SQL Server để lưu trữ cả dữ liệu ngày và giờ trong một bảng.
Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.
Trong hướng dẫn này, bạn sẽ tìm hiểu về GUID trong SQL Server và cách sử dụng hàm NEWID() để tạo giá trị GUID.
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATETIMEOFFSET trong SQL Server để thao tác datetime với múi giờ.
Trong hướng dẫn này, bạn sẽ học cách lưu trữ thời gian trong ngày trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu TIME 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.