Re: Cambio de Tipo de Datos en una columna

From: Ricardo Fuentes Pereira <rfuentesp(at)gmail(dot)com>
To: Eduardo Vázquez Rodríguez <evazquez(at)insys-corp(dot)com(dot)mx>
Cc: "''pgsql-es-ayuda(at)postgresql(dot)org' '" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cambio de Tipo de Datos en una columna
Date: 2005-02-25 11:43:24
Message-ID: 421F0F5C.6070504@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Eduardo Vázquez Rodríguez wrote:

>
>Sí de hecho ya está corriendo el UPDATE nombre_tabla SET campo_varchar = '0'
>WHERE campo_varchar = 'none'
>
>Lo que me hace falta hacer es lo del ALTER TABLE. No sé si alguipen de la
>lista haya cambiado de un varchar a un float
>
>
Estuve mirando la sintaxis de ALTER TABLE y me parece que no se puede
directamente cambiar el tipo de dato en una columna (leida rapida en
todo caso).

Lo que se me ocurre es que añadas una columna, ejecutes una sentencia
UPDATE donde haya un '0' en el otro campo y luego borres la columna con
el tipo de dato VARCHAR.
Claro, algunas ayuditas te tengo que dar en codigo ¿no?
Crear nuevo campo:

ALTER TABLE mi_tabla ADD COLUMN mi_campo_float FLOAT;

Sentencia UPDATE
UPDATE mi_tabla_float SET mi_campo_float = 0 WHERE mi_campo_varchar = '0'

y para borar la otra columna

ALTER TABLE mi_tabla DROP COLUMN mi_campo_varchar RESTRICT; (No se que
significa RESTRICT, lo saque del ejemplo de la doc. oficial)

y supongo que quieres que se llame = que la otra:
ALTER TABLE mi_tabla RENAME COLUMN mi_campo_float TO
como_quiero_que_se_llame;

Espero haber sido de ayuda
Salu2

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Aguada 2005-02-25 12:09:22 Validacion en un trigger
Previous Message Juanky Moral 2005-02-25 08:56:22 Re: Encoding por defecto??