SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型,如何操作?
修改字段用alter命令,如果该列中存在超过INT最大范围值(-32767到+32768)或非法INT数据,则需要事先将数据处理,否则提示相关错误。
如下示例:
Alter Table temp_teble alter column price INT.
SQL语句如何修改主键字段的字段类型类型
首先,修改主键字段的字段类型,肯定是要先删除主键才能操作的
sqlserver修改字段类型 sqlserver修改字段名
--【1.查找主键】
--SQLSERVER
select name as pkName from dbo.sysobjects where xtype='PK' and parent_obj=(select id from dbo.sysobjects where name='表名')
--ORACLE
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'
--【2.删除主键约束】
sqlserver修改字段类型 sqlserver修改字段名
ALTER TABLE 表名 DROP CONSTRAINT 约束名
--ORACLE
--删除主键连同索引
ALTER TABLE 表名 DROP CONSTRAINT 约束名 CASCADE DROP INDEX;
或者
ALTER TABLE 表名 DROP PRIMARY KEY CASCADE DROP INDEX;--【3.修改字段】
--【先把这一列的值备份到临时列里,再把这一列update成null,再修改类型,再把数据拷贝回来】
--SQLSERVER
--默认值单独处理,关联约束
--默认值的变更涉及到约束,如有约束,需要先查询出越是再进行删除
ALTER TABLE 表名 DROP CONSTRAINT 约束名
ALTER TABLE 表名 ALTER COLUMN 字段名 字段类型(长度精度) 是否为空
ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT 默认值 FOR 字段名
--ORACLE
--删除默认值:default null
ALTER TABLE 表名 MODIFY COLUMN 字段名 VARCHAR2(20) DEFAULT ' ' NOT NULL--【4.新增主键】
--指定主键名字
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY (F1,F2);
--未指定主键名字
ALTER TABLE 表名 ADD PRIMARY KEY (F1,F2)
SQL server怎样使用ALTER 语句修改字段名
alter table 表名 rename column 原名 to 新名 -- 这一句在SqlServer2000 中实测过,不行。
exec sp_rename '[表名].[列名]','[表名].[新列名]' -- 注意,单引号不可省略。
/* 这一句似是而非,如果真的照此执行,新的列名会变成“[表名].[新列名]”而不是你希望得到的“新列名”,注意,连方括号、点号 都会成为新列名的一部分。
比如 原表名叫 BB ,原列名叫 OldCol ,想改成NewCol ,如果执行 exec sp_rename '[BB].[OldCol]','[BB].[NewCol]' 的话,新的列名会变成很夸张的“[BB].[NewCol]”
所以正确的命令是:exec sp_rename '[BB].[OldCol]','NewCol' -- 注意逗号后面,没有表名,没有点号,没有方括号,执行这句,才能得到你想要的结果“NewCol”,
或者,另一条等价的语句为 exec sp_rename '[BB].[OldCol]',[NewCol] -- 逗号后面,如果要用方括号,就不要同时再用引号 。本语句在SqlServer2000 中实测通过。*/
关于SQLServer中修改字段(列)所会引发的问题
主键、默认值这都叫做约束,也就是当列上有约束的时候要先删除约束才能修改类型
其他约束还有唯一键、外键、check约束(应该没有了呵呵,其他的暂时想不出来了)
更改类型对数据的影响取决于隐式转换,比如datetime改成varchar的话会变成AM PM一类的
然后标志列,就是自增长的,不能修改类型,可以用设计器修改,设计器会先删除列再重新创建
sqlserver200版本数据库问题 我想修改字段数据库类型。
如果你的sql是sql2000varchar最长长度可以是8000,
如果是sql2005以上版本可以支持varchar(max),最长可达2g的字段容量数据
你可以试试,也许你的1024还是不够。
sqlserver修改字段类型 sqlserver修改字段名
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。