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

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.

Giới thiệu về kiểu dữ liệu TIME trong SQL Server

Kiểu dữ liệu TIME trong SQL Server xác định thời gian trong ngày dựa trên đồng hồ 24 giờ. Cú pháp của kiểu dữ liệu TIME như sau:

TIME[ (fractional second scale) ]

Phần giây phân số chỉ định số chữ số cho phần phân số của giây. Phần giây phân số nằm trong khoảng từ 0 đến 7. Theo mặc định, phần giây phân số là 7 nếu bạn không chỉ định rõ ràng.

Ví dụ sau minh họa cách tạo bảng với một cột kiểu TIME:

CREATE TABLE table_name(
    ...,
    start_at TIME(0),
    ...
);

Định dạng mặc định cho một giá trị kiểu TIME là:

hh:mm:ss[.nnnnnnn]

Ở định dạng này:

  • hh là hai chữ số đại diện cho giờ với phạm vi từ 0 đến 23.
  • mm là hai chữ số biểu thị phút với phạm vi từ 0 đến 59.
  • ss là hai chữ số đại diện cho giây với phạm vi từ 0 đến 59.
  • Phần giây phân số có thể từ 0 đến 7 chữ số có phạm vi từ 0 đến 9999999.

Giá trị thời gian với độ chính xác phân số giây mặc định là 100ms yêu cầu bộ nhớ 5 byte.

Lưu ý rằng kiểu dữ liệu TIME không thể phân biệt múi giờ.

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

Câu lệnh sau tạo một bảng có tên sales.visits với hai cột kiểu TIME ghi lại thời gian ghé thăm của khách hàng đến một cửa hàng cụ thể:

CREATE TABLE sales.visits (
    visit_id INT PRIMARY KEY IDENTITY,
    customer_name VARCHAR (50) NOT NULL,
    phone VARCHAR (25),
    store_id INT NOT NULL,
    visit_on DATE NOT NULL,
    start_at TIME (0) NOT NULL,
    end_at TIME (0) NOT NULL,
    FOREIGN KEY (store_id) REFERENCES sales.stores (store_id)
);

Câu lệnh sau đây INSERT thêm một hàng vào bảng sales.visits:

INSERT INTO sales.visits (
    customer_name,
    phone,
    store_id,
    visit_on,
    start_at,
    end_at
)
VALUES
    (
        'John Doe',
        '(408)-993-3853',
        1,
        '2018-06-23',
        '09:10:00',
        '09:30:00'
    );

Trong hướng dẫn này, bạn đã học cách sử dụng kiểu dữ liệu TIME trong SQL Server để lưu trữ các giá trị thời gian trong bảng.

SQL ServerKiểu dữ liệu trong SQL Server
Bài Viết Liên Quan:
GUID trong SQL Server
Trung Nguyen 12/03/2022
GUID trong SQL Server

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.

Kiểu dữ liệu DATETIMEOFFSET trong SQL Server
Trung Nguyen 12/03/2022
Kiểu dữ liệu DATETIMEOFFSET 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 DATETIMEOFFSET trong SQL Server để thao tác datetime với múi giờ.

Kiểu dữ liệu DATE trong SQL Server
Trung Nguyen 12/03/2022
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.

Kiểu dữ liệu DATETIME2 trong SQL Server
Trung Nguyen 11/03/2022
Kiểu dữ liệu DATETIME2 trong SQL Server

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.