¿Cómo se cambia el tipo de datos de una columna en SQL Server?
-
06-07-2019 - |
Pregunta
Estoy tratando de cambiar una columna de un varchar (50)
a un nvarchar (200)
. ¿Cuál es el comando SQL para alterar esta tabla?
Solución
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
EDIT Como se señaló NULL / NOT NULL debería haberse especificado, consulte la respuesta de Rob también.
Otros consejos
No olvides la nulabilidad.
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
Utilice la instrucción Alter table.
Alter table TableName Alter Column ColumnName nvarchar(100)
La sintaxis para modificar una columna en una tabla existente en SQL Server (Transact-SQL) es:
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
Por ejemplo:
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(75) NOT NULL;
Este ejemplo de ALTER TABLE
de SQL Server modificará la columna llamada last_name
para que sea un tipo de datos de VARCHAR (75)
y forzará la columna para no permitir valores nulos.
vea aquí
Mientras aumentes el tamaño de tu varchar, estarás bien. Según la Alter Table referencia:
Reducir la precisión o la escala de una columna puede causar el truncamiento de datos.
Para cambiar el tipo de datos
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
Para cambiar la clave principal
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
Prueba esto:
ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";