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

Cách lấy dữ liệu theo tuần trong Oracle

Nó phụ thuộc vào những gì bạn đang theo đuổi. Nếu bạn sau 7 ngày tới thì:

select * 
  from my_table
 where date_col between :my_date and :my_date + 7

Nếu bạn muốn nói từ Thứ Hai đến Chủ Nhật thì hãy sử dụng next_day chức năng:

select *
  from my_table
 where date_col between next_day(:my_date, 'Monday') - 7 
                    and next_day(:my_date, 'Monday')

Cả nơi :my_date là ngày bạn nhập cảnh.

Nếu bạn không chuyển ngày mà là một chuỗi thì ngày đầu tiên sẽ trở thành, bằng cách sử dụng to_date chức năng:

select *
  from my_table
 where date_col between to_date(:my_date,'dd/mm/yyy') + 7
                    and to_date(:my_date,'dd/mm/yyy')

và bạn có thể làm điều gì đó tương tự cho lần thứ hai. Nếu bạn phải sử dụng to_date rồi đến date_col phải có chỉ mục dựa trên chức năng vào to_date(date_col,'dd/mm/yyyy') hoặc nếu bạn định chuyển đổi nó theo cách khác thì theo cách đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle có sử dụng đánh giá ngắn mạch không?

  2. Lỗi- ORA-22835:Bộ đệm quá nhỏ để chuyển đổi CLOB sang CHAR hoặc BLOB sang RAW

  3. Đảm bảo phiên php có cùng phiên oracle khi sử dụng oci_pconnect

  4. Làm thế nào để trích xuất một chuỗi con từ một chuỗi trong Oracle / SQLite

  5. Các kiểu dữ liệu Oracle