字段类型长度里面能不能填其他的东西(除了数字以外的)?
比如
declare @l int
set @l=(select max(len(empno)) from empinfo)
select @l
alter table empinfo
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 行受影响)*/
能看明白吧
exec('alter column empno char('+@l+')')