wake-up-neo.net

Come si modifica il tipo di dati di una colonna in SQL Server?

Sto provando a cambiare una colonna da varchar(50) a nvarchar(200). Qual è il comando SQL per modificare questa tabella?

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

EDIT Come indicato NULL/NOT NULL dovrebbe essere stato specificato, vedere Anche la risposta di Rob .

528
cmsjr

Non dimenticare nullability.

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

Utilizzare l'istruzione della tabella di modifica.

Alter table TableName Alter Column ColumnName nvarchar(100)
22
John Sansom

La sintassi per modificare una colonna in una tabella esistente in SQL Server (Transact-SQL) è:

ALTER TABLE table_name
    ALTER COLUMN column_name column_type;

Per esempio:

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

Questo esempio di SQL Server ALTER TABLE modificherà la colonna denominata last_name per essere un tipo di dati di VARCHAR(75) e imporrà alla colonna di non consentire valori nulli.

vedi qui

11
Yogesh Bende

Finché stai aumentando le dimensioni del tuo varchar sei OK. Come per Alter Table reference:

La riduzione della precisione o della scala di una colonna può causare il troncamento dei dati.

3
jocassid

Per cambiare il tipo di dati

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

Per cambiare la chiave primaria

ALTER TABLE table_name  
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
2