valor una tablas tabla nombre modificar datos como columna campo cambiar auto_increment alterar sql-server sql-server-2008 alter

sql server - una - Cómo cambiar el tipo de datos de columna en la base de datos SQL sin perder datos



modificar columna sql server (9)

Tengo una base de datos de SQL Server y me di cuenta de que puedo cambiar el tipo de una de las columnas de int a bool .

¿Cómo puedo hacer eso sin perder los datos que ya se ingresaron en esa tabla?


¿Por qué crees que perderás datos? Simplemente vaya a Management Studio y cambie el tipo de datos. Si el valor existente se puede convertir a bool (bit), lo hará. En otras palabras, si "1" se asigna a mapas verdaderos y "0" a valores falsos en su campo original, estará bien.


En la edición compacta tomará el tamaño automáticamente para el tipo de datos datetime, es decir, (8) por lo que no es necesario establecer el tamaño del campo y generar un error para esta operación ...


Puedes hacerlo fácilmente usando el siguiente comando. Cualquier valor de 0 se convertirá en 0 (BIT = false), cualquier otra cosa se convertirá en 1 (BIT = true).

ALTER TABLE dbo.YourTable ALTER COLUMN YourColumnName BIT

La otra opción sería crear una nueva columna de tipo BIT , llenarla desde la columna anterior y, una vez que haya terminado, soltar la columna anterior y cambiarle el nombre al nuevo. De esta forma, si algo durante la conversión falla, siempre puedes volver ya que todavía tienes todos los datos.


Puedo modificar el tipo de datos del campo de la tabla, con la siguiente consulta: y también en Oracle DB,

ALTER TABLE table_name MODIFY column_name datatype;


Reemplazar el tipo de datos sin perder datos

alter table tablename modify columnn newdatatype(size);


Si es un cambio válido

puedes cambiar la propiedad

Herramientas -> Opciones -> Diseñadores -> Diseñadores de tablas y bases de datos -> Desmarcar -> Impedir cambios de guardado que requirieron la recreación de la tabla.

Ahora puede cambiar fácilmente el nombre de la columna sin volver a crear la tabla o perder sus registros.


Vaya a Tool-Option-designers-Table y Database designers y desmarque la opción Prevenir guardar


si usa T-SQL (MSSQL); deberías probar este script:

ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5)

si usas MySQL; deberías probar este script:

ALTER TABLE [Employee] MODIFY COLUMN [Salary] NUMERIC(22,5)

si usas Oracle; deberías probar este script:

ALTER TABLE [Employee] MODIFY [Salary] NUMERIC(22,5)


ALTER TABLE tablename ALTER COLUMN columnname columndatatype(size)

Nota: si hay un tamaño de columnas, solo escriba el tamaño también.