当前位置: 代码迷 >> Sql Server >> 字段门类长度里面能不能填其他的东西(除了数字以外的)
  详细解决方案

字段门类长度里面能不能填其他的东西(除了数字以外的)

热度:14   发布时间:2016-04-25 00:00:40.0
字段类型长度里面能不能填其他的东西(除了数字以外的)?
比如
declare @l int
set  @l=(select max(len(empno)) from empinfo)
select @l
alter table empinfo
alter column empno char(@l)


------解决方案--------------------
不可以  但是如果是动态的话  可以实现
------解决方案--------------------
exec('alter column empno char('+@l+')')

------解决方案--------------------
create table #tb
(
id int,
name varchar(3)
)
go

declare @l int
set @l=20
declare @str varchar(max)
set @str=''
select @str='alter table #tb
alter column name char('+ltrim(@l)+')'
exec (@str)

insert #tb
select 1,'46474+97+6749+7+94'

select * from #tb

/*

id          name
----------- --------------------
1           46474+97+6749+7+94  

(1 行受影响)*/
能看明白吧
  相关解决方案