How do you change the datatype of a column in SQL Server?

徘徊边缘 提交于 2019-11-26 15:05:59

问题


I am trying to change a column from a varchar(50) to a nvarchar(200). What is the SQL command to alter this table?


回答1:


ALTER TABLE TableName 
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]

EDIT As noted NULL/NOT NULL should have been specified, see Rob's answer as well.




回答2:


Don't forget nullability.

ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]



回答3:


Use the Alter table statement.

Alter table TableName Alter Column ColumnName nvarchar(100)



回答4:


The syntax to modify a column in an existing table in SQL Server (Transact-SQL) is:

ALTER TABLE table_name
    ALTER COLUMN column_name column_type;

For example:

ALTER TABLE employees
    ALTER COLUMN last_name VARCHAR(75) NOT NULL;

This SQL Server ALTER TABLE example will modify the column called last_name to be a data type of VARCHAR(75) and force the column to not allow null values.

see here




回答5:


As long as you're increasing the size of your varchar you're OK. As per the Alter Table reference:

Reducing the precision or scale of a column may cause data truncation.




回答6:


For changing data type

alter table table_name 
alter column column_name datatype [NULL|NOT NULL]

For changing Primary key

ALTER TABLE table_name  
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)



回答7:


Try this:

ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";


来源:https://stackoverflow.com/questions/626899/how-do-you-change-the-datatype-of-a-column-in-sql-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!