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

Tách ngày dựa trên Năm tài chính

Tôi thực sự thích giải pháp của Andomar (với việc bổ sung một quy trình tự động điền vào bảng Chu kỳ), nhưng thú vị là đây là một giải pháp không yêu cầu nó.

CREATE TABLE your_table (start_date date, end_date date);
INSERT INTO your_table VALUES ('Jan-17-2008', 'May-20-2009');

SELECT
    GREATEST(start_date, ('04-01-'||series.year)::date) AS year_start,
    LEAST(end_date, ('03-31-'||series.year + 1)::date) AS year_end
FROM
    (SELECT
        start_date,
        end_date,
        generate_series(
            date_part('year', your_table.start_date - INTERVAL '3 months')::int,
            date_part('year', your_table.end_date - INTERVAL '3 months')::int)
    FROM your_table) AS series(start_date, end_date, year)
ORDER BY
    start_date;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai bộ lọc tìm kiếm cho tất cả các cột

  2. Thêm tổng số hàng thông qua Marshmallow với @post_dump?

  3. làm thế nào để xử lý mật khẩu luôn thay đổi trong sqlalchemy + psycopg2?

  4. Postgres - câu lệnh cập nhật như một trình kích hoạt

  5. Postgres Lỗi phương pháp org.postgresql.jdbc.PgConnection.createClob () không được triển khai