SQL Datetime: Mọi thứ bạn cần biết



Bài viết này về sql datetime sẽ giúp bạn hiểu cách chuyển đổi kiểu datetime cũng như cách chuyển đổi từ các kiểu date & time khác sang datetime

Đô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ì?

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ử

  • YYYY là bốn chữ số từ 1753 đến 9999 đại diện cho một năm.
  • MM là hai chữ số, từ 01 đến 12, đại diện cho một tháng trong năm được chỉ định.
  • DD là hai chữ số, từ 01 đến 31 tùy thuộc vào tháng, đại diện cho một ngày trong tháng được chỉ định.
  • hh là hai chữ số, nằm trong khoảng từ 00 đến 23, đại diện cho giờ.
  • mm là hai chữ số, nằm trong khoảng từ 00 đến 59, đại diện cho phút.
  • ss là hai chữ số, nằm trong khoảng từ 00 đến 59, đại diện cho số thứ hai.
  • n * từ 0 đến 3 chữ số, nằm trong khoảng từ 0 đến 999, đại diện cho giây phân số.

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 ()đổ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.