Làm cách nào để kiểm tra dữ liệu giữa hai ngày?
Nếu chuyển chuỗi ngày tới hàm tạo Show
Chúng tôi có thể so sánh các ngày bởi vì ở bên dưới, mỗi ngày lưu trữ một dấu thời gian - số mili giây trôi qua giữa ngày 1 tháng 1 năm 1970 và ngày đã cho Mỗi ngày lưu trữ một dấu thời gian dưới mui xe, do đó, hành vi mặc định là so sánh dấu thời gian của các ngày, ngay cả khi bạn không gọi phương thức Chúng tôi đã sử dụng toán tử logic AND (&&) để kiểm tra xem cả hai điều kiện có được đáp ứng hay không trước khi chạy khối Nếu ngày lớn hơn ngày bắt đầu và nhỏ hơn ngày kết thúc, thì ngày đó nằm giữa hai ngày Nếu bạn gặp khó khăn khi tạo đối tượng
Dưới đây là một ví dụ tách một chuỗi và chuyển các tham số cho hàm tạo Chuỗi ngày được định dạng là Lưu ý rằng chúng tôi đã trừ đi Điều này là do, hàm tạo Chúng tôi tách chuỗi trên mỗi dấu gạch chéo về phía trước để có được một mảng các chuỗi con Chúng tôi đã sử dụng phá hủy mảng để gán các giá trị tháng, ngày và năm cho các biến và chuyển chúng cho hàm tạo Khi bạn đã tạo đối tượng Chúng tôi đã lặp lại quy trình cho từng ngày và chia nhỏ từng ngày theo dấu gạch chéo về phía trước để nhận các giá trị tháng, ngày và năm Điều rất quan trọng là trừ Vì vậy, nếu tôi muốn lấy tất cả các bản ghi từ ngày 13-09-2021 lúc 05. 00. 00 sáng đến 14-09-2021 lúc 04. 59. 59 sáng hôm sau, tôi sẽ làm thế nào? Cảm ơn ADawn sql-server-transact-sqlBình luận Hiển thị nhận xét 0 Bình luận 5. Cần 1600 ký tự còn lại ký tự
▼
tệp đính kèm. Có thể sử dụng tối đa 10 tệp đính kèm (bao gồm cả hình ảnh) với tối đa 3. 0 MiB mỗi cái và 30. tổng cộng 0 MiB Sử dụng hàm DATEDIF khi bạn muốn tính chênh lệch giữa hai ngày. Trước tiên hãy đặt ngày bắt đầu vào ô và ngày kết thúc vào ô khác. Sau đó gõ một công thức như một trong những điều sau đây Cảnh báo. Inếu Start_date lớn hơn End_date, kết quả sẽ là #NUM Chênh lệch ngàyTrong ví dụ này, ngày bắt đầu nằm trong ô D9 và ngày kết thúc nằm trong E9. Công thức ở F9. “d” trả về số ngày đầy đủ giữa hai ngày Sự khác biệt trong tuầnTrong ví dụ này, ngày bắt đầu nằm trong ô D13 và ngày kết thúc nằm trong E13. “d” trả về số ngày. Nhưng chú ý /7 ở cuối. Chia số ngày cho 7, vì có 7 ngày trong một tuần. Lưu ý rằng kết quả này cũng cần được định dạng dưới dạng số. Nhấn CTRL + 1. Sau đó nhấp vào Số > Vị trí thập phân. 2 Chênh lệch thángTrong ví dụ này, ngày bắt đầu nằm trong ô D5 và ngày kết thúc nằm trong E5. Trong công thức, “m” trả về số tháng đầy đủ giữa hai ngày Sự khác biệt trong nămTrong ví dụ này, ngày bắt đầu nằm trong ô D2 và ngày kết thúc nằm trong E2. “y” trả về số năm đầy đủ giữa hai ngày Tính tuổi theo năm, tháng, ngày tích lũyBạn cũng có thể tính tuổi hoặc thời gian phục vụ của ai đó. Kết quả có thể giống như “2 năm, 4 tháng, 5 ngày. ” 1. Sử dụng DATEDIF để tìm tổng số nămTrong ví dụ này, ngày bắt đầu nằm trong ô D17 và ngày kết thúc nằm trong E17. Trong công thức, "y" trả về số năm đầy đủ giữa hai ngày 2. Sử dụng lại DATEDIF với “ym” để tìm thángTrong một ô khác, hãy sử dụng công thức DATEDIF với tham số “ym”. “ym” trả về số tháng còn lại trong năm vừa qua 3. Sử dụng một công thức khác để tìm ngàyBây giờ chúng ta cần tìm số ngày còn lại. Chúng tôi sẽ làm điều này bằng cách viết một loại công thức khác, được hiển thị ở trên. Công thức này trừ ngày đầu tiên của tháng kết thúc (5/1/2016) khỏi ngày kết thúc ban đầu trong ô E17 (5/6/2016). Đây là cách nó làm điều này. Đầu tiên hàm DATE tạo ngày, 1/5/2016. Nó tạo nó bằng cách sử dụng năm trong ô E17 và tháng trong ô E17. Sau đó, 1 đại diện cho ngày đầu tiên của tháng đó. Kết quả cho hàm DATE là 1/5/2016. Sau đó, chúng tôi trừ ngày kết thúc ban đầu trong ô E17, là ngày 6/5/2016. 6/5/2016 trừ 1/5/2016 là 5 ngày Cảnh báo. Chúng tôi khuyên bạn không nên sử dụng đối số DATEDIF "md" vì đối số này có thể tính toán kết quả không chính xác 4. Không bắt buộc. Kết hợp ba công thức trong mộtBạn có thể đặt cả ba phép tính trong một ô như ví dụ này. Sử dụng dấu và, dấu ngoặc kép và văn bản. Đó là một công thức dài hơn để nhập, nhưng ít nhất đó là tất cả trong một. Mẹo. Nhấn ALT+ENTER để ngắt dòng trong công thức của bạn. Điều này làm cho nó dễ đọc hơn. Ngoài ra, nhấn CTRL+SHIFT+U nếu bạn không thể nhìn thấy toàn bộ công thức Tải xuống các ví dụ của chúng tôiBạn có thể tải xuống một sổ làm việc ví dụ với tất cả các ví dụ trong bài viết này. Bạn có thể làm theo, hoặc tạo công thức của riêng bạn. Tính toán ngày giờ khácTính toán giữa ngày hôm nay và một ngày khácNhư bạn đã thấy ở trên, hàm DATEDIF tính toán sự khác biệt giữa ngày bắt đầu và ngày kết thúc. Tuy nhiên, thay vì nhập ngày cụ thể, bạn cũng có thể sử dụng hàm TODAY() bên trong công thức. Khi bạn sử dụng hàm TODAY(), Excel sẽ sử dụng ngày hiện tại trên máy tính của bạn cho ngày. Hãy nhớ rằng điều này sẽ thay đổi khi tệp được mở lại vào một ngày trong tương lai Xin lưu ý rằng tại thời điểm viết bài này, ngày là ngày 6 tháng 10 năm 2016 Tính ngày làm việc, có hoặc không có ngày lễSử dụng NETWORKDAYS. Hàm INTL khi bạn muốn tính số ngày làm việc giữa hai ngày. Bạn cũng có thể loại trừ các ngày cuối tuần và ngày lễ Trước khi bắt đầu. Quyết định xem bạn có muốn loại trừ ngày lễ không. Nếu bạn làm như vậy, hãy nhập danh sách các ngày nghỉ trong một khu vực hoặc trang tính riêng biệt. Đặt mỗi ngày lễ trong ô riêng của mình. Sau đó chọn các ô đó, chọn Công thức > Xác định tên. Đặt tên cho phạm vi MyHolidays và nhấp vào OK. Sau đó tạo công thức bằng các bước bên dưới 1. Nhập ngày bắt đầu và ngày kết thúcTrong ví dụ này, ngày bắt đầu nằm trong ô D53 và ngày kết thúc nằm trong ô E53 2. Trong một ô khác, gõ một công thức như thế nàyNhập công thức như ví dụ trên. Số 1 trong công thức thiết lập Thứ Bảy và Chủ nhật là ngày cuối tuần và loại trừ chúng khỏi tổng số Ghi chú. Excel 2007 không có NETWORKDAYS. hàm INTL. Tuy nhiên, nó có NETWORKDAYS. Ví dụ trên sẽ như thế này trong Excel 2007. =NETWORKDAYS(D53,E53). Bạn không chỉ định 1 vì NETWORKDAYS cho rằng cuối tuần là Thứ Bảy và Chủ Nhật 3. Nếu cần, hãy thay đổi 1Nếu Thứ Bảy và Chủ Nhật không phải là ngày cuối tuần của bạn, hãy thay đổi số 1 thành số khác từ danh sách IntelliSense. Ví dụ: 2 thiết lập Chủ Nhật và Thứ Hai là ngày cuối tuần Nếu bạn đang sử dụng Excel 2007, hãy bỏ qua bước này. Hàm NETWORKDAYS của Excel 2007 luôn giả sử cuối tuần là Thứ Bảy và Chủ Nhật 4. Nhập tên phạm vi kỳ nghỉNếu bạn đã tạo tên phạm vi ngày lễ trong phần “Trước khi bạn bắt đầu” ở trên, hãy nhập tên đó ở cuối như thế này. Nếu bạn không có ngày nghỉ, bạn có thể bỏ dấu phẩy và MyHolidays. Nếu bạn đang sử dụng Excel 2007, ví dụ trên sẽ là thế này. =NETWORKDAYS(D53,E53,MyHolidays) Mẹo. Nếu bạn không muốn tham chiếu tên phạm vi ngày lễ, bạn cũng có thể nhập một phạm vi thay thế, chẳng hạn như D35. E. 39. Hoặc, bạn có thể nhập từng ngày lễ bên trong công thức. Ví dụ: nếu ngày lễ của bạn là vào ngày 1 và 2 tháng 1 năm 2016, bạn sẽ nhập chúng như thế này. =NETWORKDAYS. INTL(D53,E53,1,{"1/1/2016","2/1/2016"}). Trong Excel 2007, nó sẽ trông như thế này. =NETWORKDAYS(D53,E53,{"1/1/2016","2/1/2016"}) Tính thời gian trôi quaBạn có thể tính thời gian đã trôi qua bằng cách lấy lần này trừ đi lần khác. Đầu tiên đặt thời gian bắt đầu trong một ô và thời gian kết thúc trong một ô khác. Đảm bảo nhập toàn thời gian, bao gồm giờ, phút và khoảng trắng trước AM hoặc PM. Đây là cách 1. Nhập thời gian bắt đầu và thời gian kết thúcTrong ví dụ này, thời gian bắt đầu ở ô D80 và thời gian kết thúc ở E80. Đảm bảo nhập giờ, phút và dấu cách trước AM hoặc PM 2. đặt h. mm định dạng AM/PMChọn cả hai ngày và nhấn CTRL + 1 (hoặc 3. Trừ hai lầnTrong một ô khác, trừ ngày/giờ bắt đầu khỏi ngày/giờ kết thúc. Kết quả có thể sẽ giống như một số và số thập phân. Bạn sẽ khắc phục điều đó trong bước tiếp theo Làm cách nào để kiểm tra giữa các ngày trong SQL?Ngày sử dụng >= '2011-02-25T00. 00. 00' và Ngày < '2011-02-28T00. 00. 00' thay vào đó;
Chúng ta có thể sử dụng giữa các ngày trong SQL không?Toán tử BETWEEN chọn các giá trị trong một phạm vi nhất định. Các giá trị có thể là số, văn bản hoặc ngày tháng. Toán tử BETWEEN đã bao hàm. giá trị bắt đầu và kết thúc được bao gồm
Làm cách nào tôi có thể nhận dữ liệu giữa hai ngày trong SQL Server?Chỉ trong trường hợp bạn vẫn quan tâm và bạn không muốn tạo ngày giờ từ ngày và giờ, thì hãy kiểm tra phương pháp này. . chọn * từ MyTable trong đó ( D = '2021-09-13' và T >= '05. 00' ) hoặc ( D = '2021-09-14' và T < '05. 00' ) |