sql >> Databáze >  >> RDS >> PostgreSQL

Rozdělení data na základě fiskálního roku

Ve skutečnosti upřednostňuji řešení Andomaru (s přidáním procesů, které automaticky vyplní tabulku období), ale pro zábavu je zde řešení, které to nevyžaduje.

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. Datum se neukládá do Mysql z registračního formuláře PHP

  2. Převeďte soubor BibTex na záznamy databáze pomocí Pythonu

  3. odstranit duplicitní položky v tabulce

  4. Kód chyby:1822, když se datové typy shodují, se složeným klíčem