Modify Columns (Database Engine)


Applies To: SQL Server 2016

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

You can modify the data type of a column in SQL Server 2016 by using SQL Server Management Studio or Transact-SQL.

System_CAPS_ICON_warning.jpg Warning

Modifying the data type of a column that already contains data can result in the permanent loss of data when the existing data is converted to the new type. In addition, code and applications that depend on the modified column may fail. These include queries, views, stored procedures, user-defined functions, and client applications. Note that these failures will cascade. For example, a stored procedure that calls a user-defined function that depends on the modified column may fail. Carefully consider any changes you want to make to a column before making it.

In This Topic



Requires ALTER permission on the table.

To modify the data type of a column

  1. In Object Explorer, right-click the table with columns for which you want to change the scale and click Design.

  2. Select the column for which you want to modify the data type.

  3. In the Column Properties tab, click the grid cell for the Data Type property and choose a new data type from the drop-down list.

  4. On the File menu, click Savetable name.

System_CAPS_ICON_note.jpg Note

When you modify the data type of a column, Table Designer applies the default length of the data type you selected, even if you have already specified another. Always set the data type length for to the desired value after specifying the data type.

System_CAPS_ICON_warning.jpg Warning

If you attempt to modify the data type of a column that relates to other tables, Table Designer asks you to confirm that the change should be made to the columns in the other tables as well.

To modify the data type of a column

  1. In Object Explorer, connect to an instance of Database Engine.

  2. On the Standard bar, click New Query.

  3. Copy and paste the following example into the query window and click Execute.

    CREATE TABLE dbo.doc_exy (column_a INT ) ;  
    INSERT INTO dbo.doc_exy (column_a) VALUES (10) ;  
    ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2) ;  

For more information, see ALTER TABLE (Transact-SQL)

Community Additions