SQL如何用语句更改字段的数据类型?
SQL如何用语句更改字段可以用以下语句可以实现:
alter table 表名 alter column 字段名 变更后的字段类型。
注意:
但若是关键字段,带有主键,并且字段类型为用户自定义类型,具有默认值的情况下,用上述语句会出现错误。
例如:
现假设表为TABLE1,关键字段为FIELD1,主键为PK_FIELD1,关键字段的数据类型为用户自定义数据类型 cha_field1,实际为CHAR(10),默认值为dbo.D_field1现要求将字段类型改为 varchar(20),默认值去除错误提示如下:
服务器: 消息 5074,级别 16,状态 1,行 1
对象 'D_field1' 依赖于 列 'field1'。
服务器: 消息 5074,级别 16,状态 1,行 1
对象 'PK_field1' 依赖于 列 'field1'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE ALTER COLUMN field1 失败,因为有一个或多个对象访问此列。
修改类型,使用sql语句:
alter table 表名 alter column 字段名称 varchar not null
示例:
新建表如下图所示:
更改name列为varchar,长度为20,如下图:
改完后结果为:
参考资料:百度百科 SQL数据类型 网页链接
例:ALTER TABLE 教师 ALTER COLUMN 办公室 CHAR(20) NOT NULL default "办公室"
alter table 表名
alter column 字段名称 nvarchar(255)
如果长度不够则需要增加一个列,然后把源数据列进行转换长度后放入