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

Kiểu dữ liệu DATE trong SQL là kiểu dữ liệu ngày tháng được áp dụng cho rất nhiều bài toán trong cơ sở dữ liệu. Tuy nhiên, vẫn còn nhiều người chưa thật sự hiểu rõ về kiểu dữ liệu này. Vì vậy hãy cùng theo dõi bài viết hôm nay của Comdy để biết thêm chi tiết về định dạng, cách dùng, ý nghĩa nhé.

Insert ngày tháng trong SQL sử dụng kiểu dữ liệu gì?

Insert ngày tháng trong SQL
DATE và DATETIME trong sql là 2 kiểu dữ liệu insert ngày tháng thường xuyên được sử dụng
Trong SQL server, để lưu trữ và sử dụng ngày tháng, bạn có thể sử dụng kiểu dữ liệu DATE hoặc DATETIME. DATE và DATETIME trong sql là 2 kiểu dữ liệu ngày tháng thường xuyên được sử dụng.

Ví dụ:

CREATE TABLE ten_bang (
id INT PRIMARY KEY,
ngay_thang DATE
);

hoặc sử dụng kiểu dữ liệu datetime:

CREATE TABLE ten_bang (
id INT PRIMARY KEY,
ngay_thang_gio DATETIME
);

Sau khi đã tạo bảng thành công với cột ngày tháng, bạn có thể insert ngày tháng trong sql bằng cách sử dụng cú pháp sau:

INSERT INTO ten_bang (id, ngay_thang) VALUES (1, ‘2024-01-07’);

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

Kiểu dữ liệu date trong SQL Server
Sử dụng kiểu dữ liệu DATE trong SQL Server để lưu trữ dữ liệu ngày tháng

Để 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 – Kiểu dữ liệu ngày tháng trong sql 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 sql server 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 sql server date. Định dạng chuỗi chữ mặc định của hàm date trong sql server như sau:

YYYY-MM-DD;

Ở định dạng date trong sql:

  • 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 in SQL server

Ví dụ về kiểu dữ liệu date in SQL server
Lấy ví dụ về kiểu dữ liệu date in SQL server

Sau đây là ví dụ về nhập dữ liệu kiểu date trong sql server mà bạn có thể tham khảo:

Truy vấn dữ liệu từ một bảng dựa trên các giá trị kiểu DATE

SELECT    
	order_id, 
	customer_id, 
	order_status, 
	order_date
FROM    
	sales.orders
WHERE order_date < '2016-01-05'
ORDER BY 
	order_date DESC;

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_pricescó 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
    );

Giới thiệu về kiểu dữ liệu datetime trong SQL server

Kiểu dữ liệu datetime trong SQL server
Định dạng datetime trong sql là YYYY-MM-DD HH:MI:SS

Kiểu datetime trong sql server là kiểu kết hợp cả ngày và giờ. Định dạng datetime trong sql là YYYY-MM-DD HH:MI:SS. Phạm vi hỗ trợ của kiểu dữ liệu datetime trong sql là từ ‘1000-01-01 00:00:00’ đến ‘9999-12-31 23:59:59’.

Ví dụ:

CREATE TABLE TenBang (
    ID INT PRIMARY KEY,
    NgayGioThucHien DATETIME
);
INSERT INTO TenBang (ID, NgayGioThucHien) VALUES (1, ‘2024-01-07 12:30:45’);

Định dạng dd/mm/yyyy trong SQL là của kiểu dữ liệu nào?

Trong SQL Server, không có một kiểu dữ liệu ngày tháng cụ thể nào mà bạn có thể sử dụng để lưu trữ định dạng ‘dd/mm/yyyy’. Thay vào đó, SQL Server sử dụng kiểu dữ liệu DATE hoặc DATETIME để lưu trữ ngày tháng.

Định dạng ‘dd/mm/yyyy’ là cách hiển thị ngày tháng mà bạn thường thấy, nhưng khi lưu trữ trong SQL Server, nó sẽ được chuyển đổi thành định dạng nội bộ của SQL Server.

Khi bạn thực hiện các thao tác INSERT hoặc UPDATE trong SQL Server, bạn nên cung cấp giá trị ngày tháng theo định dạng ‘YYYY-MM-DD’. Định dạng ngày tháng trong sql theo ‘YYYY-MM-DD’ để đảm bảo tính đồng nhất và tránh nhầm lẫn.

Ví dụ:

— Sử dụng kiểu dữ liệu DATE
CREATE TABLE TenBang (
    ID INT PRIMARY KEY,
    Ngay DATE
);
— INSERT giá trị ngày tháng với định dạng ‘YYYY-MM-DD’
INSERT INTO TenBang (ID, Ngay) VALUES (1, ‘2024-01-09’);

Nếu muốn hiển thị giá trị ngày tháng theo định dạng ‘dd/mm/yyyy’ khi truy vấn dữ liệu, có thể sử dụng hàm FORMAT để định dạng ngày tháng ở câu truy vấn ngày tháng trong sql.

Kiểu dữ liệu giờ trong SQL là gì? 

Kiểu dữ liệu giờ trong SQL là gì
Kiểu dữ liệu TIME được thiết kế để lưu trữ thông tin về thời gian trong một ngày, không bao gồm thông tin về ngày tháng hoặc năm

Trong SQL Server, kiểu dữ liệu giờ chủ yếu được sử dụng là TIME. Kiểu dữ liệu TIME được thiết kế để lưu trữ thông tin về thời gian trong một ngày, mà không bao gồm thông tin về ngày tháng hoặc năm.

Kiểu dữ liệu TIME biểu diễn thời gian trong định dạng ‘hh:mm:ss’. Trong đó, ‘hh’ là giờ, ‘mm’ là phút, và ‘ss’ là giây. Giá trị của kiểu dữ liệu TIME nằm trong khoảng từ ’00:00:00.0000000′ đến ’23:59:59.9999999′.

Lưu ý: Kiểu dữ liệu TIME thường được sử dụng khi bạn chỉ quan tâm đến thông tin về giờ, phút và giây, mà không quan trọng về ngày và tháng.

Hàm current date trong sql sử dụng để làm gì?

Hàm CURRENT_DATE hoặc GETDATE() được sử dụng để trả về ngày hiện tại theo hệ thống thời gian của máy chủ cơ sở dữ liệu. Hàm này thường được sử dụng trong các câu truy vấn SQL để lấy ngày hiện tại và sử dụng nó trong các điều kiện, so sánh hoặc để thêm dữ liệu mới vào cơ sở dữ liệu.

Thuộc tính dạng ngày tháng trong cơ sở dữ liệu được sử dụng để làm gì?

Trong cơ sở dữ liệu, thuộc tính dạng ngày tháng (date/time) được sử dụng để lưu trữ thông tin về ngày và thời gian liên quan đến dữ liệu trong bảng. Các thuộc tính dạng ngày tháng thường được sử dụng để thực hiện các công việc sau:

  • Ghi lại thời gian: Ghi lại thời điểm một sự kiện diễn ra hoặc khi một bản ghi được thêm vào cơ sở dữ liệu.
  • Sắp xếp và lọc dữ liệu: Thuộc tính ngày tháng cho phép sắp xế dữ liệu theo thời gian, giúp hiển thị dữ liệu một cách có ý nghĩa và thuận tiện.
  • Tính toán với ngày tháng: Các hệ quản trị cơ sở dữ liệu thường hỗ trợ các hàm và phép toán để thực hiện tính toán với ngày tháng.

Các kiểu dữ liệu trong mysql

Các kiểu dữ liệu trong mysql
MySQL đặc biệt hỗ trợ nhiều kiểu dữ liệu khác nhau để bạn có thể lựa chọn kiểu dữ liệu phù hợp với nhu cầu của mình.
  • Kiểu Số Nguyên (Integer Types):

INT: Số nguyên có kích thước 4 byte.

TINYINT: Số nguyên nhỏ, 1 byte.

SMALLINT: Số nguyên nhỏ, 2 byte.

MEDIUMINT: Số nguyên, 3 byte.

BIGINT: Số nguyên lớn, 8 byte.

  • Kiểu Dữ Liệu Float và Double:

FLOAT: Số thực đơn precision.

DOUBLE: Số thực đôi precision.

  • Kiểu Dữ Liệu Văn Bản (Character Types):

CHAR(size): Chuỗi kí tự có độ dài cố định.

VARCHAR(size): Chuỗi kí tự có độ dài biến đổi.

  • Kiểu Dữ Liệu Văn Bản Dài (Text Types):

TEXT: Chuỗi văn bản có độ dài biến đổi.

MEDIUMTEXT: Chuỗi văn bản vừa.

LONGTEXT: Chuỗi văn bản dài.

  • Kiểu Dữ Liệu Ngày Tháng (Date and Time Types):

DATE: Ngày tháng, ví dụ ‘YYYY-MM-DD’.

TIME: Thời gian, ví dụ ‘hh:mm:ss’.

DATETIME: Ngày và thời gian, ví dụ ‘YYYY-MM-DD hh:mm:ss’.

  • Kiểu Dữ Liệu Boolean:

BOOLEAN hoặc BOOL: Dùng để lưu giá trị logic True/False.

  • Kiểu Dữ Liệu ENUM:

ENUM: Dùng để định nghĩa một tập hợp giá trị có thể chọn từ một danh sách.

  • Kiểu Dữ Liệu JSON:

JSON: Dùng để lưu trữ và xử lý dữ liệu JSON.

  • Kiểu Dữ Liệu Binary:

BINARY: Dùng để lưu trữ dữ liệu nhị phân có độ dài cố định.

VARBINARY: Dùng để lưu trữ dữ liệu nhị phân có độ dài biến đổi.

Kết lại

Trên đây là toàn bộ chia sẻ của Comdy – Nơi hia sẻ kiến thức, kinh nghiệm từ các chuyên gia hàng đầu về kiểu dữ liệu date trong sql. Hi vọng những thông tin, kiến thức trong bài viết này sẽ giúp bạn hiểu rõ hơn để dùng đúng và chính xác. Xin cám ơn vì đã theo dõi, ủng hộ bài viết.

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 *