Làm tròn ngày giờ
SQL Server không có cách trực quan để làm tròn xuống theo tháng, giờ hoặc phút. Tuy nhiên, bạn có thể kết hợp các hàm DATEADD() và DATEDIFF() để thực hiện việc này.
Để làm tròn ngày 1914-08-16 xuống năm, ta gọi DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Để làm tròn ngày đó xuống tháng, ta gọi DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
Cách này cũng áp dụng được cho một số phần ngày khác.
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian trong SQL Server
Hướng dẫn bài tập
- Sử dụng
DATEADD()vàDATEDIFF()cùng với các phần ngày để làm tròn xuống đến ngày, giờ và phút.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
DECLARE
@SomeTime DATETIME2(7) = '2018-06-14 16:29:36.2248991';
-- Fill in the appropriate functions and date parts
SELECT
DATEADD(___, DATEDIFF(DAY, 0, @SomeTime), 0) AS RoundedToDay,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToHour,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToMinute;