Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

SQL:Nhận các bản ghi được tạo trong phạm vi thời gian cho các ngày cụ thể

Trong Oracle, chúng ta có thể biến ngày tháng thành số và áp dụng số học cho chúng theo nhiều cách khác nhau.

Ví dụ:sysdate-7 cho chúng tôi ngày bảy ngày trước. trunc(some_date) loại bỏ yếu tố thời gian khỏi cột ngày tháng. Và to_char(some_date, 'SSSSS') cho chúng ta yếu tố thời gian của nó dưới dạng số giây kể từ nửa đêm. Vì vậy, 06:45:00 là 24300 giây và 18:15:59 là 69359 giây (vui lòng kiểm tra các con số đó, vì chúng là hình vẽ phía sau của một phong bì ').

Dù sao, đặt tất cả lại với nhau trong một truy vấn như thế này ...

select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359

... sẽ tạo ra tất cả các bản ghi được tạo trong tuần trước với yếu tố thời gian trong giờ chính.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Loại dữ liệu bản ghi dựa trên con trỏ với con trỏ trả về nhiều giá trị trong cơ sở dữ liệu Oracle

  2. Nhận tập kết quả từ quy trình lưu trữ oracle

  3. đây là lỗi ORA-12154:TNS:không thể giải quyết định danh kết nối được chỉ định?

  4. Oracle SQL Developer:Hiển thị kết quả REFCURSOR trong Grid?

  5. Cài đặt ứng dụng khách Oracle Warehouse Builder 11g R2