create proc p_test
@columnname varchar(20)
as
declare @columnlen int
select name,@columnlen=prec from syscolumns where id=object_id('表名') and name=@columnname
@columnlen --就是该字段的长度,用left函数截取就是了,然后以下自己发挥了...........