Tôi đang tìm điều khoản where
có thể được sử dụng để truy xuất hồ sơ trong 24 giờ qua?Làm thế nào để chọn bản ghi từ 24 giờ qua bằng SQL?
Trả lời
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
Nếu các bản ghi được lưu trữ là 'DATETIME', điều này sẽ chọn tất cả các bản ghi từ ngày trước đó, bỏ qua phần thời gian. Được chạy tại '23: 59: 59', truy vấn sẽ trả về tất cả các bản ghi trong '48' giờ qua, không phải' 24'. – Quassnoi
Nếu bạn muốn chọn 24 giờ qua từ trường ngày giờ, hãy thay thế 'curate()' bằng 'now()'. Điều này cũng bao gồm thời gian. – Haentz
select ...
from ...
where YourDateColumn >= getdate()-1
Trong MySQL
:
SELECT *
FROM mytable
WHERE record_date >= NOW() - INTERVAL 1 DAY
Trong SQL Server
:
SELECT *
FROM mytable
WHERE record_date >= DATEADD(day, -1, GETDATE())
Trong Oracle
:
SELECT *
FROM mytable
WHERE record_date >= SYSDATE - 1
Trong PostgreSQL
:
SELECT *
FROM mytable
WHERE record_date >= NOW() - '1 day'::INTERVAL
Trong Redshift
:
SELECT *
FROM mytable
WHERE record_date >= GETDATE() - '1 day'::INTERVAL
Trong SQLite
:
SELECT *
FROM mytable
WHERE record_date >= datetime('now','-1 day')
Trong MS Access
:
SELECT *
FROM mytable
WHERE record_date >= (Now - 1)
Tôi thử truy vấn cho mysql nhưng nếu 2AM của nó, ví dụ, tôi nhận được các bản ghi từ 00 - 02 AM. Chỉ hai giờ thay vì 24. Bất kỳ ý tưởng nào? – Manos
Tôi rất giống với giải pháp được cung cấp ở đây, những gì tôi đã lưu ý trong MySQL là hiệu suất của giải pháp _Guillaume Flandre_ nhanh hơn. – oneworld
Câu trả lời hoàn hảo! – Bertie
SELECT *
FROM tableName
WHERE datecolumn >= dateadd(hour,-24,getdate())
nào SQL đã không quy định, SQL 2005/2008
SELECT yourfields from yourTable WHERE yourfieldWithDate > dateadd(dd,-1,getdate())
Nếu bạn đang trên 2008 tăng loại ngày chính xác, sau đó sử dụng sysdatetime mới() chức năng thay vào đó, không kém nếu sử dụng UTC lần trong nội bộ trao đổi với UTC cuộc gọi.
Trong SQL Server (Đối với 24 giờ qua):
SELECT *
FROM mytable
WHERE order_date > DateAdd(DAY, -1, GETDATE()) and order_date<=GETDATE()
tại sao bạn cần phải thêm "và order_date <= GETDATE()" khi bạn đang tìm kiếm 24 giờ qua hình thức thời điểm thoát khỏi truy vấn đó? Nó thực sự làm cho không có ý nghĩa để có một phần trong mệnh đề where khi bạn có "GETDATE" đã được đề cập trong lần đầu tiên. Bạn nên làm cho nó "order_date> = DateAdd (DAY, -1, GETDATE())" thats it! – KMX
trong postgres, giả sử loại lĩnh vực của bạn là một dấu thời gian:
select * from bàn nơi date_field> (nay() - khoảng thời gian '24 giờ ');
MySQL:
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)
Các INTERVAL có thể trong năm, tháng, ngày, giờ, phút, giây
Ví dụ, Trong 10 phút cuối
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(NOW(), INTERVAL 10 MINUTE)
Đây là câu trả lời phù hợp nhất với câu hỏi cụ thể: Cách trả về 24 GIỜ (từ thời điểm hiện tại), trái với 24 trước (cho biết tất cả kết quả cho ngày trước đó). Điều này đã trả lời các yêu cầu của tôi, điều này nhận được sự ủng hộ của tôi. EDIT: giá trị của nó đề cập đến cột table_name.the_date nên là một dấu thời gian. –
Nếu dấu thời gian được xem là dấu thời gian UNIX Trước tiên, bạn cần chuyển đổi dấu thời gian UNIX (ví dụ: 1462567865) thành dấu thời gian mysql hoặc dữ liệu
SELECT * FROM `orders` WHERE FROM_UNIXTIME(order_ts) > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
Xin chào tôi bây giờ đã qua rất nhiều thời gian từ bài đăng gốc nhưng tôi gặp vấn đề tương tự và tôi muốn chia sẻ.
Tôi nhận được trường ngày giờ có định dạng này YYYY-MM-DD hh: mm: ss và tôi muốn truy cập cả ngày, vì vậy, đây là giải pháp của tôi.
Hàm DATE(), trong MySQL: Trích xuất phần ngày của biểu thức ngày hoặc ngày giờ.
SELECT * FROM `your_table` WHERE DATE(`your_datatime_field`)='2017-10-09'
với điều này tôi nhận được tất cả đăng ký hàng trong ngày này.
Tôi hy vọng sẽ giúp mọi người.
- 1. chọn các bản ghi có ngày trong 24 giờ qua
- 2. Tìm bản ghi có trường ngày trong 24 giờ qua
- 3. MySQL: Bản ghi được chèn theo giờ, trong 24 giờ qua
- 4. Làm thế nào để chọn các bản ghi 3 phút cuối cùng từ MySQL với PHP
- 5. Chọn bản ghi từ NGAY BÂY GIỜ() -1 Ngày
- 6. SimpleDateFormat.getTimeInstance bỏ qua định dạng 24 giờ
- 7. sql chọn từ nhiều bản ghi chỉ gần đây nhất
- 8. Oracle: Làm thế nào tôi có thể chọn bản ghi CHỈ từ ngày hôm qua?
- 9. Làm thế nào để nhanh chóng chọn ngày DISTINCT từ trường Ngày/Giờ, SQL Server
- 10. Máy chủ SQL - Chọn tất cả các bản ghi đầu giờ
- 11. Làm thế nào để chọn bản ghi duy nhất bởi SQL
- 12. Làm thế nào để chọn không hoặc một bản ghi từ một bảng dummy trong Ingres
- 13. làm thế nào để trừ 24 giờ từ đối tượng thời gian ngày trong PHP
- 14. Giờ từ DateTime? theo định dạng 24 giờ
- 15. Làm thế nào để chuyển đổi thời gian từ AM/PM sang định dạng 24 giờ bằng PHP?
- 16. Chuyển đổi từ 12 giờ đến 24 giờ trong java
- 17. NSDateFormatter với 24 giờ
- 18. làm cách nào để nhận hàng mysql từ 24-48 giờ trước?
- 19. Làm cách nào để đặt TimePickerDialog thành 24 giờ?
- 20. Whats cách nào tốt nhất để có được kết quả trong 24 giờ qua trong T-SQL?
- 21. Làm cách nào để chuyển đổi thời gian đồng hồ 12 giờ thành giờ đồng hồ 24 giờ bằng PHP?
- 22. Làm thế nào để xóa một bản ghi bằng GQL?
- 23. Làm thế nào để lấy tất cả các bản ghi Từ CoreData Base bằng NSManagedObjectSubClass?
- 24. Làm thế nào để: thực hiện một khối mã mỗi 24 giờ trong một máy chủ?
- 25. Làm thế nào để xóa rất nhiều bản ghi từ cơ sở dữ liệu SQL nhanh?
- 26. Làm cách nào để chuyển đổi thời gian 24 giờ thành 12 giờ?
- 27. Biểu diễn thời gian bằng excel trên 24 giờ
- 28. Làm cách nào để biểu diễn định dạng 24 giờ của DateTime .NET trong 01-24 thay vì 00-23?
- 29. Chuyển đổi 24 lần Giờ đến 12 Giờ cộng AM/PM chỉ Oracle SQL
- 30. Làm cách nào để ghi tệp WAV 24 bit bằng Python?
Bạn có trường dấu thời gian trên các bản ghi này không? –