select a.name,case a.precision when 0 then case a.is_ansi_padded when 1 then convert(nvarchar(15),b.name+ '('+convert(nvarchar(10),a.max_length)+')') when 0 then b.name end else case a.scale when 0 then b.name else b.name+ '('+convert(nvarchar(10),a.precision)+','+convert(nvarchar(10),a.scale)+')' end end as typelength from sys.columns a left join sys.types b on a.system_type_id=b.system_type_id and a.user_type_id=b.user_type_id where a.object_id =(select object_id from sys.objects where name ='Address')