USE AdventureWorks; GO SELECT c.name AS column_name ,c.column_id ,SCHEMA_NAME(t.schema_id) AS type_schema ,t.name AS type_name ,t.is_user_defined ,t.is_assembly_type ,c.max_length ,c.precision ,c.scale ,c.is_nullable FROM sys.columns AS c JOIN sys.types AS t ON c.user_type_id=t.user_type_id WHERE c.object_id = OBJECT_ID('Person.Address') ORDER BY c.column_id; GO output: column_name, column_id, type_schema, type_name, is_user_defined, is_assembly_type, max_length precision scale FUserID 1 sys nchar 0 0 40 0 0 FUserName 2 sys nchar 0 0 20 0 0 FUserType 3 sys nchar 0 0 20 0 0 FEMail 4 sys nchar 0 0 120 0 0 FActive 5 sys tinyint 0 0 1 3 0 FPredefine 6 sys tinyint 0 0 1 3 0 FPassword 7 sys nchar 0 0 20 0 0 FRight 8 sys nchar 0 0 20 0 0 FLevel 9 sys int 0 0 4 10 0 FPsnID 10 sys nchar 0 0 40 0 0 FContactID 11 sys nchar 0 0 40 0 0 FUpdUser 12 sys nchar 0 0 40 0 0 FUpdTime 13 sys datetime 0 0 8 23 3 FCreateUser 14 sys nchar 0 0 40 0 0 FCreateTime 15 sys datetime 0 0 8 23 3 output2: column_name, column_id, type_schema, type_name, is_user_defined, is_assembly_type, max_length precision scale is_nullable AddressID 1 sys int 0 0 4 10 0 0 AddressLine1 2 sys nvarchar 0 0 120 0 0 0 AddressLine2 3 sys nvarchar 0 0 120 0 0 1 City 4 sys nvarchar 0 0 60 0 0 0 StateProvinceID 5 sys int 0 0 4 10 0 0 PostalCode 6 sys nvarchar 0 0 30 0 0 0 rowguid 7 sys uniqueidentifier 0 0 16 0 0 0 ModifiedDate 8 sys datetime 0 0 8 23 3 0