SQL如何用语句更改字段的数据类型?

我想把char改成varchar但是图形界面改老是提示错误,求大神帮我写条语句。。谢谢~~

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 失败,因为有一个或多个对象访问此列。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-10-11

修改类型,使用sql语句:

alter table 表名 alter column 字段名称 varchar not null

示例:

新建表如下图所示:

更改name列为varchar,长度为20,如下图:

改完后结果为:

参考资料:百度百科 SQL数据类型 网页链接

本回答被网友采纳
第2个回答  2014-11-11
ALTER TABLE 表名 ALTER COLUMN 列名 新的数据类型[(长度)] NULL或NOT NULL
例:ALTER TABLE 教师 ALTER COLUMN 办公室 CHAR(20) NOT NULL default "办公室"
第3个回答  推荐于2017-10-06
如果长度足够可以使用
alter table 表名
alter column 字段名称 nvarchar(255)
如果长度不够则需要增加一个列,然后把源数据列进行转换长度后放入本回答被提问者采纳
第4个回答  2021-03-31