读书人

字段门类长度里面能不能填其他的东西(

发布时间: 2013-01-17 10:28:54 作者: rapoo

字段类型长度里面能不能填其他的东西(除了数字以外的)?
比如
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 行受影响)*/
能看明白吧

读书人网 >SQL Server

热点推荐