SQL server hiện đang ngày trở nên phổ biến, được ưa chuộng hơn trong cuộc cách mạng công nghệ lần thứ 4. Dù vậy nhưng chắc hẳn còn nhiều người vẫn chưa am hiểu tường tận, còn phân vân trong cách dùng các kiểu dữ liệu. Đặc biệt phải kể đến các hàm lấy giờ, kiểu dữ liệu time trong SQL server. Vậy, hãy cùng Comdy.vn tìm hiểu rõ hơn về những kiến thức này trong bài viết hôm nay nhé.
Hàm lấy giờ trong SQL Server là gì?
Trong SQL Server, bạn có thể sử dụng hàm GETDATE() để lấy ngày và giờ hiện tại từ hệ thống cơ sở dữ liệu. Hàm này trả về một giá trị kiểu datetime.
Ví dụ:
SELECT GETDATE() AS CurrentDateTime;
Kết quả của truy vấn này sẽ là một bảng với một cột tên là CurrentDateTime và giá trị của cột đó sẽ là ngày và giờ hiện tại.
Giới thiệu về kiểu dữ liệu TIME trong SQL Server
Kiểu dữ liệu TIME là kiểu dữ liệu giờ trong SQL thường xuyên được sử dụng. 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 in sql server:
CREATE TABLE table_name( ..., start_at TIME(0), ... );
Định dạng mặc định cho một giá trị kiểu mssql 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
Sau đây là ví dụ về kiểu TIME trong SQL Server – Một kiểu dữ liệu thời gian trong SQL để giúp bạn hiểu rõ và áp dụng chính xác, hiệu quả:
Câu lệnh sau tạo một bảng có tên sales.visits với hai cột kiểu time sql server 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.
Tìm hiểu kiểu dữ liệu date và datetime trong SQL server
Tìm hiểu kỹ hơn về 2 kiểu dữ liệu sql time đó là date và datetime sau đây:
Kiểu datetime trong SQL server là gì?
Kiểu dữ liệu datetime trong SQL server được sử dụng để lưu trữ giá trị ngày và giờ. Kiểu dữ liệu này bao gồm cả thông tin về ngày và thời gian. Định dạng datetime trong sql là: “YYYY-MM-DD HH:MI:SS”. Trong đó:
- YYYY: Năm với bốn chữ số.
- MM: Tháng (01 đến 12).
- DD: Ngày trong tháng (01 đến 31).
- HH: Giờ trong ngày (00 đến 23).
- MI: Phút (00 đến 59).
- SS: Giây (00 đến 59).
Ví dụ: 2024-01-08 15:30:45
Kiểu date trong SQL server là gì?
Kiểu dữ liệu date là kiểu dữ liệu ngày tháng trong SQL được sử dụng để lưu trữ giá trị ngày mà không bao gồm thông tin về thời gian. Kiểu dữ liệu này chứa thông tin về ngày trong định dạng “YYYY-MM-DD”. Trong đó:
- YYYY: Năm với bốn chữ số.
- MM: Tháng (01 đến 12).
- DD: Ngày trong tháng (01 đến 31).
Ví dụ: 2024-01-08
Với những bài toán chỉ quan tâm đến ngày mà không cần thông tin về thời gian, việc sử dụng kiểu dữ liệu date trong sql có thể là lựa chọn hiệu quả. Lý do là vì nó tiết kiệm không gian lưu trữ và có thể tăng hiệu suất so với việc sử dụng các kiểu dữ liệu ngày giờ đầy đủ như datetime hoặc datetime2.
Set trong SQL server là gì?
SET là một từ khóa được sử dụng để thiết lập các giá trị cho các biến hoặc cài đặt môi trường trong quá trình thực thi truy vấn. Có nhiều cách sử dụng SET trong SQL, nhưng một trong những cách phổ biến nhất là để gán giá trị cho biến.
Ví dụ, bạn có thể sử dụng SET để gán giá trị cho một biến như sau:
Trong ví dụ trên, @Variable là tên của biến và nó được gán giá trị là chuỗi “Hello, World!”.
Ngoài ra, SET cũng có thể được sử dụng để thiết lập các cài đặt môi trường nhất định hoặc chế độ khác nhau trong quá trình thực thi các truy vấn. Thế nhưng cách sử dụng này phụ thuộc vào ngữ cảnh cụ thể của truy vấn hoặc lệnh SQL bạn đang sử dụng.
Hàm current date trong SQL server
Trong SQL, để lấy giá trị ngày hiện tại, bạn thường sử dụng hàm GETDATE() hoặc CURRENT_TIMESTAMP. Cả hai hàm này trả về ngày và giờ hiện tại.
Ví dụ:
SELECT GETDATE() AS CurrentDateTime;
Hoặc sử dụng CURRENT_TIMESTAMP:
SELECT CURRENT_TIMESTAMP AS CurrentDateTime;
Cả hai truy vấn trên đều sẽ trả về một bảng với một cột tên là CurrentDateTime và giá trị của cột đó sẽ là ngày và giờ hiện tại.
Những kiểu dữ liệu trong mysql là gì?
Sau đây là tổng hợp các kiểu dữ liệu trong SQL server:
- INTEGER hoặc INT: Kiểu int trong SQL dùng để lưu trữ số nguyên không dấu, ví dụ: 1, 100, -30.
- FLOAT(p, s) hoặc DOUBLE(p, s): Lưu trữ số thực với p là tổng số chữ số và s là số chữ số sau dấu thập phân.
- DECIMAL(p, s): Tương tự như FLOAT hoặc DOUBLE, nhưng chính xác hơn vì nó lưu trữ số thập phân với độ chính xác cố định.
- CHAR(n): Lưu trữ chuỗi ký tự có độ dài cố định n. Ví dụ: CHAR(10) lưu trữ một chuỗi với độ dài chính xác 10 ký tự.
- VARCHAR(n): Kiểu varchar trong SQL lưu trữ chuỗi ký tự có độ dài biến đổi, nhưng không vượt quá n ký tự.
- TEXT: Lưu trữ các chuỗi ký tự có độ dài lớn, thích hợp cho văn bản dài.
- DATE: Hàm date trong sql lưu trữ giá trị ngày trong định dạng ‘YYYY-MM-DD’.
- TIME: Lưu trữ giá trị thời gian trong định dạng ‘HH:MM:SS’.
- DATETIME: Kết hợp cả ngày và thời gian trong định dạng ‘YYYY-MM-DD HH:MM:SS’.
- BOOLEAN hoặc BOOL: Lưu trữ giá trị đúng hoặc sai (0 hoặc 1).
- ENUM: Là một kiểu dữ liệu cho phép bạn xác định một tập hợp giới hạn các giá trị có thể có.
- SET: Tương tự như ENUM, nhưng có thể chứa nhiều giá trị từ tập hợp.
- BLOB: Lưu trữ dữ liệu nhị phân, thích hợp cho các loại dữ liệu như hình ảnh, âm thanh, video.
Kết lại
Trên đây là toàn bộ chia sẻ của Comdy.vn – TECHNICAL & MARKETING về kiểu dữ liệu time trong sql server. Bên cạnh đó cũng đã cung cấp thêm các thông tin, kiến thức về các kiểu dữ liệu khác. Hi vọng thông tin trong bài viết này là bổ ích, ý nghĩa với mọi người. Xin cám ơn vì đã dành thời gian theo dõi, ủng hộ bài viết này.