sql >> Database teknologi >  >> RDS >> PostgreSQL

SQL-kloning og konvertering af en datokolonne

Ville dette hjælpe dig?

Dette bruger den indbyggede datoformatering i TO_CHAR-funktionen. Jeg er ikke helt hjemme med postgresql tho', så nogle justeringer skal muligvis foretages.

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

Hvis kolonnen "år" ikke allerede eksisterer, bliver du nødt til at oprette den med en ALTER TABLE erklæring først

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

Jeg vil anbefale at tjekke dokumentationen for den korrekte brug.

EDIT:Hvis du bekymrer dig om den tid, det ville tage at opdatere alle rækker (jeg så, at du kommenterede et andet svar, at du havde omkring 2 millioner poster), så foreslår jeg, at du læser dette indlæg .

Det forklarer, at det kan være hurtigere at oprette tabellen fra bunden med dataene i stedet for at opdatere hver eneste række.



  1. Sådan listes alle databaser med ActiveRecord

  2. Sådan håndhæves brugerdefineret MySQL-kolonneformat

  3. Opdatering af flere værdier i MySQL

  4. Hvordan udskriver jeg alle felter for alle tabeller i mysql-databasen?