如何在 SQL Server (T-SQL) 中更改列的数据类型

发布于

创建数据库表时,可以指定所有列及其数据类型。创建后,通常无意更改这些数据类型。毕竟,无论谁设计了架构,都会对每列应该接受的数据类型进行大量思考。

但是,我们都知道事情可能会改变。尽管我们尽最大努力尝试预见可能影响我们数据库的所有可能情况,但有时这还不够。

那么,如果我们需要使用 Transact-SQL 来更改 SQL Server 中列的数据类型,我们该怎么办?

当然,我们使用语句来更改它。ALTER TABLE

示例

下面是使用 T-SQL 语句更改列的数据类型的示例:ALTER TABLE

ALTER TABLE Tasks ALTER COLUMN TaskCode char(6); GO

这将更改名为 的表,方法是将其列更改为数据类型 。请注意,无需指定_过去的_数据类型 - 您只需指定新的数据类型并完成它。SQL Server将完成其余的工作。Tasks``TaskCode``char(6)

检查结果

您可以通过查询来检查结果:INFORMATION_SCHEMA.COLUMNS

USE Solutions; SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH, CHARACTER_OCTET_LENGTH AS OCTET_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ‘Tasks’ AND COLUMN_NAME = ‘TaskCode’;

输出:

COLUMN_NAME  DATA_TYPE  MAX_LENGTH  OCTET_LENGTH
-----------  ---------  ----------  ------------
TaskCode     char       6           6