sql >> Base de Datos >  >> RDS >> PostgreSQL

Clonación de SQL y conversión de una columna de fecha

¿Te ayudaría esto?

Esto está utilizando el formato de fecha incorporado en la función TO_CHAR. Aunque no estoy del todo cómodo con postgresql, por lo que es posible que sea necesario realizar algunos ajustes.

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

Si la columna "año" aún no existe, deberá crearla con un ALTER TABLE declaración primero

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

Recomendaría revisar la documentación para el uso correcto.

EDITAR:si le preocupa el tiempo que llevaría actualizar todas las filas (vi que comentó en otra respuesta que tenía alrededor de 2 millones de registros), le sugiero que lea esta publicación .

Explica que podría ser más rápido crear la tabla desde cero con los datos en lugar de actualizar todas y cada una de las filas.