sql >> Databáze >  >> RDS >> PostgreSQL

postgreSQL změní datový typ sloupce na časové razítko bez časového pásma

Pokud create_time je typu TEXT s platnou hodnotou data, bude snazší pokračovat se změnou následovně (doporučujeme nejprve provést výpis tabulky jako zálohu):

-- Create a temporary TIMESTAMP column
ALTER TABLE AB ADD COLUMN create_time_holder TIMESTAMP without time zone NULL;

-- Copy casted value over to the temporary column
UPDATE AB SET create_time_holder = create_time::TIMESTAMP;

-- Modify original column using the temporary column
ALTER TABLE AB ALTER COLUMN create_time TYPE TIMESTAMP without time zone USING create_time_holder;

-- Drop the temporary column (after examining altered column values)
ALTER TABLE AB DROP COLUMN create_time_holder;


  1. Jaký je účel tohoto druhu injekce SQL?

  2. Sloupec rand() poddotazu byl znovu vyhodnocen pro každý opakovaný výběr v MySQL 5.7/8.0 vs MySQL 5.6

  3. MySQL pořadí podle řetězce s čísly

  4. Seskupit podle více sloupců v jedné uložené proceduře MySql