PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar a função date_part para dividir o valor por mês para cada dia e país


O equivalente Postgresql de DAY(LAST_DAY(sales_date)) seria:
extract(day from (date_trunc('month', sales_date + interval '1 month') - interval '1 day'))

A expressão SUM(country <> 'None') também precisa ser corrigido como
SUM(case when country <> 'None' then 1 else 0 end)

Pode ser uma boa ideia definir esta função de compatibilidade:
create function last_day(d date) returns date as
$$
  select date_trunc('month', d + interval '1 month') - interval '1 day';
$$ language sql immutable;

Então a primeira expressão torna-se simplesmente
extract(day from last_day(sales_date))