Tengo una base de datos de SQL Server y me acabo de dar cuenta de que puedo cambiar el tipo de una de las columnas int
a bool
.
¿Cómo puedo hacer eso sin perder los datos que ya se ingresaron en esa tabla?
sql-server
sql-server-2008
alter
Ivan Stoyanov
fuente
fuente
Respuestas:
Puede hacerlo fácilmente con el siguiente comando. Cualquier valor de 0 se convertirá en 0 (BIT = falso), cualquier otra cosa se convertirá en 1 (BIT = verdadero).
La otra opción sería crear una nueva columna de tipo
BIT
, llenarla de la columna anterior y, una vez que haya terminado, suelte la columna anterior y cambie el nombre de la nueva por el nombre anterior. De esa manera, si algo sale mal durante la conversión, siempre puede regresar ya que todavía tiene todos los datos.fuente
NULL
permaneceNULL
, se0
convierte , se conviertenFalse
en valores distintos de cero (1, -1, 1999, -987 ...)True
.Nota: si hay un tamaño de columnas, simplemente escriba el tamaño también.
fuente
Si es un cambio válido.
Puedes cambiar la propiedad.
Ahora puede cambiar fácilmente el nombre de la columna sin volver a crear la tabla o perder sus registros.
fuente
¿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 verdadero y "0" se asigna a falso en su campo original, estará bien.
fuente
si usa T-SQL (MSSQL); deberías probar este script:
si usa MySQL; deberías probar este script:
si usa Oracle; deberías probar este script:
fuente
Vaya a Herramienta-Opción-diseñadores-Diseñadores de tablas y bases de datos y desactive la opción Guardar
fuente
Altere el tipo de datos de columna con el tipo de verificación de columna:
fuente
para mí, en SQL Server 2016, lo hago así
* Para cambiar el nombre de la columna Columna1 a la columna2
* Para modificar el tipo de columna de cadena a int :( Asegúrese de que los datos estén en el formato correcto )
fuente
En la edición compacta, tomará tamaño automáticamente para el tipo de datos de fecha y hora, es decir (8), por lo que no es necesario establecer el tamaño del campo y generar un error para esta operación ...
fuente
Puedo modificar el tipo de datos del campo de tabla, con la siguiente consulta: y también en Oracle DB,
fuente
Reemplace el tipo de datos sin perder datos
fuente