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

Typ sloupce YYYY-MM v PostgreSQL

Navrhoval bych, abyste o problému příliš nepřemýšleli a použili pouze první datum/čas v měsíci. Postgres má spoustu funkcí specifických pro datum -- z date_trunc() do age() na + interval -- na podporu dat.

Můžete je snadno převést do požadovaného formátu, získat rozdíl mezi dvěma hodnotami a tak dále.

Pokud svůj dotaz formulujete jako:

where year_month = date_trunc('month', now()) and user_id = 'adc1-23...'

Pak může snadno využít index na (user_id, year_month) nebo (year_month, user_id) .



  1. Implementace hodnotícího algoritmu Hacker News v SQL

  2. Spring Managed bean injection ve třídě implementující RowMapper

  3. Mohu použít výjimky ve smyčce FOR LOOP k vynucení pokračování při chybě?

  4. Provádění více non-SELECT příkazů MySQL jako text jednoho příkazu v .NET