PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да използвате функцията date_part за разделяне на стойност на месец за всеки ден и държава

Еквивалентът на Postgresql на DAY(LAST_DAY(sales_date)) ще бъде:

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

Изразът SUM(country <> 'None') също трябва да се коригира като

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

Може би е добра идея да дефинирате тази функция за съвместимост:

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

Тогава първият израз става просто

extract(day from last_day(sales_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. Получаване на въведени резултати от необработен SQL ActiveRecord

  2. Как да върна резултата от временната таблица във функцията postgresql

  3. Използване на psycopg2 и Qthreads заедно (или само postgresql и qthreads) и актуализиране на GUI

  4. Комбинациите на PostgreSQL за разлика от пермутациите

  5. Как да конвертирате низ в дата в PostgreSQL