Tôi có máy chủ với PostgreSQL 8.4 đang được khởi động lại mỗi tối lúc 01:00 (không hỏi) và cần có danh sách người dùng được kết nối (tức là dấu thời gian của họ là u.login > u.logout
) :Chọn dấu thời gian của ngày hôm nay (kể từ nửa đêm) chỉ
SELECT u.login, u.id, u.first_name
FROM pref_users u
WHERE u.login > u.logout and
u.login > now() - interval '24 hour'
ORDER BY u.login;
login | id | first_name
----------------------------+----------------+-------------
2012-03-14 09:27:33.41645 | OK171511218029 | Alice
2012-03-14 09:51:46.387244 | OK448670789462 | Bob
2012-03-14 09:52:36.738625 | OK5088512947 | Sergej
Nhưng so sánh u.login > now()-interval '24 hour'
cũng cung cấp cho người dùng trước 01:00, điều tệ, đặc biệt. vào buổi sáng.
Có cách nào hiệu quả để nhận thông tin đăng nhập kể từ 01:00 sau cùng mà không làm việc nhào lộn chuỗi với to_char()
không?
Hihi, tôi yêu "không hỏi" :) – Mattis