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

Cách sử dụng hàm date_part để phân chia giá trị mỗi tháng cho mỗi ngày và quốc gia

Postgresql tương đương với DAY(LAST_DAY(sales_date)) sẽ là:

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

Biểu thức SUM(country <> 'None') cũng cần được sửa thành

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

Bạn nên xác định chức năng tương thích này:

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

Khi đó, biểu thức đầu tiên trở nên đơn giản

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. Vấn đề với truy vấn bản ghi đang hoạt động và heroku.

  2. Chuyển đổi múi giờ UTC trong postgresql thành EST (giờ địa phương)

  3. pg_dump với người dùng không có superradmin và các đối tượng lớn

  4. LỖI FATAL tệp khóa postmaster.pid đã tồn tại

  5. Làm cách nào để bạn JSON Marshall a pq.NullTime bằng UTC thay vì múi giờ địa phương?