"ALTER TABLE ... ALTER COLUMN" - Changing Column Data Type in SQL Server

Q

How to change the data type of an existing column with "ALTER TABLE" statements in SQL Server?

✍: FYIcenter.com

A

Sometimes, you may need to change the data type of an existing column. For example, you want increase the string length of a column. You can use the "ALTER TABLE ... ALTER COLUMN" statements in the following syntax:

ALTER TABLE table_name ALTER COLUMN column_name new_type

Here is a good example of change column data types:

-- Can not make a string column shorter
ALTER TABLE tip ALTER COLUMN subject VARCHAR(10)
GO
Msg 8152, Level 16, State 14, Line 1
String or binary data would be truncated.
The statement has been terminated.

-- Can make a string column longer
ALTER TABLE tip ALTER COLUMN subject VARCHAR(100)
GO
Command(s) completed successfully.

-- Can not change string to numeric
ALTER TABLE tip ALTER COLUMN subject NUMBER
GO
Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to numeric.
The statement has been terminated.

As you can see, the new date type must be compatible with the old data type in order for the "ALTER TABLE ... ALTER COLUMN" statement to work.

 

Managing Tables and Columns in SQL Server

⇒⇒SQL Server Database Tutorials

2016-11-15, 900👍, 0💬