PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Spaltentyp YYYY-MM in PostgreSQL

Ich würde vorschlagen, nicht zu sehr über das Problem nachzudenken und nur das erste Datum/die erste Uhrzeit des Monats zu verwenden. Postgres hat viele datumsspezifische Funktionen – von date_trunc() bis age() bis + interval -- um Termine zu unterstützen.

Sie können sie einfach in das gewünschte Format konvertieren, die Differenz zwischen zwei Werten ermitteln und so weiter.

Wenn Sie Ihre Abfrage wie folgt formulieren:

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

Dann kann es leicht einen Index auf (user_id, year_month) nutzen oder (year_month, user_id) .