Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   campo float a integer (https://www.clubdelphi.com/foros/showthread.php?t=74260)

ebeltete 08-06-2011 13:52:11

campo float a integer
 
Hola estoy con Firebird 2.0, quiero cambiar el valor de un campo,

ALTER TABLE articulos alter column ar_codigo type integer

pero me dice que no se puede pasar de float a integer. Existe alguna manera de hacerlo?

Casimiro Noteví 08-06-2011 14:13:09

Tienes varias formas, por ejemplo, prueba a cambiar el valor de los datos del campo antes de convertir el tipo.
Código SQL [-]
Update tbTabla set campofloat= cast(campofloat as integer);
Luego prueba a cambiar el tipo como estabas haciendo.
Otra opción es crear el campo integer y copiar los datos al mismo:
Código SQL [-]
update tbtabla set campointeger= cast(campofloat as integer);
Luego borras el campo float y renombras el nuevo integer con el nombre que tenía el anterior float.
Tienes otras opciones, pero prueba esas y si no te funciona, te explico otras.

guillotmarc 08-06-2011 14:14:39

Hola.

Crea un campo nuevo, de tipo integer, copia todos los datos al campo nuevo, elimina el antiguo y renombra el nuevo al nombre original.

Para copiar los datos : update nombre_tabla set campo_nuevo = campo_viejo;

Saludos.

oesqueda 08-06-2011 20:06:24

Usa la opcion de crear una columna nueva, porque asi podras revisar que los datos se haya copiado bien y ya cuando estes conforme borras la columna anterior y renombras.


La franja horaria es GMT +2. Ahora son las 08:44:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi