sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man använder date_part-funktionen för att dela upp värdet per månad till varje dag och land

Postgresql-motsvarigheten till DAY(LAST_DAY(sales_date)) skulle vara:

extract(day from (date_trunc('month', sales_date + interval '1 month') - interval '1 day'))

Uttrycket SUM(country <> 'None') måste också fixas som

SUM(case when country <> 'None' then 1 else 0 end)

Det kan vara en bra idé att definiera denna kompatibilitetsfunktion:

create function last_day(d date) returns date as
$$
  select date_trunc('month', d + interval '1 month') - interval '1 day';
$$ language sql immutable;

Då blir det första uttrycket enkelt

extract(day from last_day(sales_date))


  1. % logga in i Javas PreparedStatement

  2. SSAS dimensionsbearbetning gör underliggande åtgärder obearbetade

  3. Hur använder man REGEXP med escape-sekvenser som ordgräns?

  4. UPPDATERA TABELL MED SUMMA