sql >> Databasteknik >  >> RDS >> PostgreSQL

SQL-kloning och konvertering av en datumkolumn

Skulle detta hjälpa dig?

Detta använder den inbyggda datumformateringen i TO_CHAR-funktionen. Jag är inte helt hemma med postgresql tho', så vissa justeringar kan behöva göras.

UPDATE
    TABLENAME
SET
    year = TO_CHAR(date, 'YYYY'),
    date = TO_CHAR(date, 'YYYYMM');

Om kolumnen "år" inte redan finns måste du skapa den med en ALTER TABLE uttalande först

ALTER TABLE [table_name] ADD COLUMN [column_name] [data_type] {collation} {column_contstraint};

Jag skulle rekommendera att du kontrollerar dokumentationen för korrekt användning.

EDIT:Om du är orolig för tiden det skulle ta att uppdatera alla rader (jag såg att du kommenterade ett annat svar att du hade cirka 2 miljoner poster), så föreslår jag att du läser det här inlägget .

Det förklarar att det kan vara snabbare att skapa tabellen från början med data istället för att uppdatera varje rad.



  1. Finns det en prestandaskillnad mellan CTE , Sub-Query, Temporary tabell eller Tabellvariabel?

  2. SQL:Undantag från en annars sorterad resultatuppsättning

  3. Tabell med 80 miljoner poster och att lägga till ett index tar mer än 18 timmar (eller för alltid)! Nu då?

  4. MySQL Trigger för att infoga data i olika DB