SQL 批量修改数据库字段类型

时间:2023-02-11 07:26:30
将现有数据库中 不同字段的int类型 转换成 float类型 字段比较多,怎样批量修改?

9 个解决方案

#2


批量产生所有int型字段的修改脚本,

select 'alter table ['+object_name(a.[object_id])+'] alter column '
+a.name+' float '
from sys.columns a
inner join sys.systypes b
on a.system_type_id=b.xtype and b.name='int'
inner join sys.objects c
on a.[object_id]=c.[object_id] and c.[type]='U'

#3


批量产生所有int型字段的修改脚本,

不是要修改 所有 int型字段

#4


引用 3 楼 panyuanyuan 的回复:
批量产生所有int型字段的修改脚本,

不是要修改 所有 int型字段

二楼的不是对的吗,他的语法就是生成脚本啊!不知到楼主是要什么东东

#5


不是修改 所有Int型 字段的类型

#6


[jkxs],[dlxs],[xbwrbxst],[zmxshdtdqztdzz],[dycl],[fhcl],[hwcw], [qbyqyy],[fdj],[dlcb], [bldc], [jckyjxj],[fs], [xz],[qcnw],[azqnq],[bzdlbz],[ztjsb]

这些字段 现在都是int型,现在要将int型转换成float型...怎样批量修改?

#7



  cast([字段名] as float)

#8


楼主你是要在select子句中将int型的字段都显示为float呢?还是想在数据表中将所有int字段一次性修改成float型呢?这是两个完全不同的事情

#9


在数据表中修改成float型  

不是所有的int字段都修改,只有[jkxs],[dlxs],[xbwrbxst],[zmxshdtdqztdzz],[dycl],[fhcl],[hwcw], [qbyqyy],[fdj],[dlcb], [bldc], [jckyjxj],[fs], [xz],[qcnw],[azqnq],[bzdlbz],[ztjsb]这些

#1


#2


批量产生所有int型字段的修改脚本,

select 'alter table ['+object_name(a.[object_id])+'] alter column '
+a.name+' float '
from sys.columns a
inner join sys.systypes b
on a.system_type_id=b.xtype and b.name='int'
inner join sys.objects c
on a.[object_id]=c.[object_id] and c.[type]='U'

#3


批量产生所有int型字段的修改脚本,

不是要修改 所有 int型字段

#4


引用 3 楼 panyuanyuan 的回复:
批量产生所有int型字段的修改脚本,

不是要修改 所有 int型字段

二楼的不是对的吗,他的语法就是生成脚本啊!不知到楼主是要什么东东

#5


不是修改 所有Int型 字段的类型

#6


[jkxs],[dlxs],[xbwrbxst],[zmxshdtdqztdzz],[dycl],[fhcl],[hwcw], [qbyqyy],[fdj],[dlcb], [bldc], [jckyjxj],[fs], [xz],[qcnw],[azqnq],[bzdlbz],[ztjsb]

这些字段 现在都是int型,现在要将int型转换成float型...怎样批量修改?

#7



  cast([字段名] as float)

#8


楼主你是要在select子句中将int型的字段都显示为float呢?还是想在数据表中将所有int字段一次性修改成float型呢?这是两个完全不同的事情

#9


在数据表中修改成float型  

不是所有的int字段都修改,只有[jkxs],[dlxs],[xbwrbxst],[zmxshdtdqztdzz],[dycl],[fhcl],[hwcw], [qbyqyy],[fdj],[dlcb], [bldc], [jckyjxj],[fs], [xz],[qcnw],[azqnq],[bzdlbz],[ztjsb]这些