sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur genererar man månadslista i PostgreSQL?

Du kan generera sekvenser av data med generate_series() funktion:

SELECT to_char(generate_series(min, max, '1 month'), 'Mon-YY') AS "Mon-YY"
FROM (
  SELECT date_trunc('month', min(startdate)) AS min, 
         date_trunc('month', max(startdate)) AS max
  FROM a) sub;

Detta genererar en rad för varje månad, i ett vackert format. Om du vill ha det som en lista kan du samla dem alla i en yttre fråga:

SELECT string_agg("Mon-YY", ', ') AS "Mon-YY list"
FROM (
  -- Query above
) subsub;

SQLFiddle här



  1. FGCB_ADD_REMOVE-spärren

  2. Finns det ett sätt att konvertera flera datumformat till datetime python

  3. Kan inte köra block i PostgreSQL 8.2

  4. Hur man infogar aktuell tid i MySQL med Java