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

Oracle lấy lại 1 giờ ngày

Một cái gì đó như:

select trunc(your_date, 'hh') - number_of_hours_to_go_back/24 start_dt,
       trunc(your_date, 'hh') end_dt
from   dual;

nếu bạn cần nó trong một câu lệnh SQL hoặc:

declare
  v_date date := to_date('10/12/2016 10:15:23', 'dd/mm/yyyy hh24:mi:ss');
  v_start_dt date;
  v_end_dt date;
  v_num_hours_back integer;
begin
  v_start_dt := trunc(v_date, 'hh') - v_num_hours_back/24;
  v_end_dt := trunc(v_date, 'hh');
end;
/

nếu bạn cần nó trong PL / SQL (để tiết kiệm việc chuyển đổi ngữ cảnh không cần thiết giữa SQL và PL / SQL).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trục động trong sql oracle - Thủ tục

  2. Tự động thả phân vùng cũ nhất trong oracle 11G

  3. Hạn chế khi lấy dữ liệu blob từ oracle

  4. Cách loại bỏ số 0 khi Phần nguyên là số 0 trong Oracle

  5. Tách chuỗi trong Oracle với regexp_substr theo thứ tự