Đôi khi xử lý ngày và giờ trong SQL có thể khá phức tạp. Mặc dù ngày và giờ thực sự là các kiểu dữ liệu hoàn toàn khác nhau, chúng thường được hợp nhất thành một kiểu dữ liệu ngày giờ. Ngày và giờ trong SQL Một mình khá đơn giản nhưng hợp nhất hai có thể là một trong những nhiệm vụ khó khăn nhất. Trong bài này, sẽ tìm hiểu chi tiết về kiểu datetime trong SQL.
- Kiểu dữ liệu DateTime là gì?
- datetime Description
- Chuyển đổi các loại ngày và giờ khác thành loại dữ liệu ngày giờ
Kiểu dữ liệu datetime là gì?
Trong SQL, ngày giờ kiểu dữ liệu ngày được sử dụng cho các giá trị chứa cả ngày và giờ. Microsoft định nghĩa nó như một ngày kết hợp với thời gian trong ngày bằng giây phân số dựa trên đồng hồ 24 giờ .
Đặc biệt, SQL có nhiều kiểu dữ liệu kết hợp cả biểu diễn ngày và giờ khiến mọi thứ trở nên phức tạp hơn. Được sử dụng rộng rãi nhất là DATETIME vì nó đã có mặt từ các phiên bản SQL trước. SQL truy xuất và hiển thị các giá trị DATETIME ở định dạng ‘YYYY-MM-DD hh: mm: ss’. Phạm vi được hỗ trợ là ‘1753-01-01 00:00:00’ đến ‘9999-12-31 23: 59: 59.997’. Hãy khám phá loại ngày giờ chi tiết hơn.
datetime Description
Vui lòng kiểm tra bảng sau để biết thêm về kiểu ngày giờ trong SQL.
Bất động sản | Giá trị |
Cú pháp | ngày giờ |
Sử dụng | DECLARE @MyDatetimengày giờ TẠO BẢNG Bảng 1 (Cột 1ngày giờ) |
định dạng | ‘YYYY-MM-DD hh: mm: ss.nnn |
Khoảng thời gian | 00:00:00 đến 23: 59: 59.997 |
Phạm vi phần tử |
|
Kích thước lưu trữ ví dụ về webdriver java selenium dưa chuột | 8 byte |
Giá trị mặc định | 1900-01-01 00:00:00 |
Lịch | Gregorian (Bao gồm toàn bộ phạm vi năm.) |
Ghi chú: Các chi tiết ở trên áp dụng cho loại datetime trong Transact-SQL vàMáy chủ SQL.
Vì vậy, đó là ngày giờ trong SQL. Nhưng bạn sẽ làm gì nếu bạn có ngày khác &các loại thời gian và bạn phải chuyển đổi chúng thành ngày giờ kiểu?
Chuyển đổi các loại ngày và giờ khác thành loại dữ liệu ngày giờ
Các ngày giờ nhập dữ liệu vào SQL bao gồm ngày và giờ, với một phần giây phân số 3 chữ số. Độ chính xác của nó được làm tròn đến gia số .000, .003 hoặc .007 giây. Vì vậy, khi bạn chuyển đổi một ngày hoặc là thời gian giá trị để ngày giờ , thông tin bổ sung được thêm vào giá trị. Điều này là bởi vì ngày giờ kiểu dữ liệu chứa cả ngày và giờ. Phần này của bài viết giải thích điều gì xảy ra khi ngày và giờ kiểu dữ liệu được chuyển đổi thành ngày giờ loại dữ liệu.
Ví dụ 1: Chuyển đổi ngầm định giữa ngày và giờ
DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date
Kết quả
@datetime @date ------------------------------------ 2016-12-21 00: 00: 00.000 2016 -12-21
Ví dụ 2: Chuyển đổi ngầm định giữa ngày và giờ sử dụng CAST ()
DECLARE @thedate date = '2020-12-01' CHỌN @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'
Kết quả
@datetime @date ------------------------------------ 2016-12-21 00: 00: 00.000 2016 -12-21
Ví dụ 3: Chuyển đổi ngầm định từ smalldatetime sang datetime
Khi chuyển đổi từ s malldatetime nhập, giờ và phút được sao chép. Giây và giây phân số được đặt thành giá trị 0. Đoạn mã sau đây cho thấy kết quả của việc chuyển đổi một smalldatetime giá trị cho một ngày giờ giá trị.
DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime CHỌN @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'
Kết quả
@datetime @smalldatetime -------------------------------------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00
Tương tự, bạn có thể chuyển đổi ngày giờ loại để datatime nhập ngầm hoặc sử dụng cast () và đổi() các phương pháp. Để tham khảo, hãy xem bảng bên dưới để tự làm quen với các định dạng của tất cả các loại ngày và giờ.
Loại dữ liệu | Thí dụ |
thời gian | 12:35:29. 1234567 |
ngày | 2007-05-08 |
smalldatetime | 2007-05-08 12:35:00 |
ngày giờ | 2007-05-08 12: 35: 29.123 |
datetime2 | 2007-05-08 12:35:29. 1234567 |
datetimeoffset | 2007-05-08 12: 35: 29.1234567 +12: 15 |
Với điều này, chúng ta đã đi đến phần cuối của bài viết này. Tôi hy vọng bạn đã rõ về nội dung thảo luận ở đây. Đảm bảo rằng bạn luyện tập nhiều nhất có thể và hoàn nguyên trải nghiệm của mình.
Nếu bạn muốn tìm hiểu thêm về MySQL và tìm hiểu cơ sở dữ liệu quan hệ nguồn mở này, sau đó xem đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về MySQL và giúp bạn thành thạo về chủ đề này.
Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết ‘Thủ tục trong SQL này và chúng tôi sẽ liên hệ lại với bạn.