sql >> Database >  >> RDS >> PostgreSQL

YYYY-MM kolomtype in PostgreSQL

Ik zou willen voorstellen om niet te veel over het probleem na te denken en alleen de eerste datum/tijd van de maand te gebruiken. Postgres heeft tal van datumspecifieke functies -- van date_trunc() tot age() tot + interval -- om datums te ondersteunen.

U kunt ze gemakkelijk converteren naar het gewenste formaat, het verschil tussen twee waarden krijgen, enzovoort.

Als u uw vraag formuleert als:

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

Dan kan het gemakkelijk profiteren van een index op (user_id, year_month) of (year_month, user_id) .



  1. MySQL:de primaire sleutel van de tabel dynamisch bepalen

  2. MySQL Tabel maken als SELECT

  3. Update meerdere kolommen met dezelfde waarde, korte syntaxis

  4. Kan geen verbinding maken met Postgresql op poort 5432