The query below lists all the table columns in a database.
Query
select schema_name(tab.schema_id) as schema_name,
tab.name as table_name,
col.column_id,
col.name as column_name,
t.name as data_type,
col.max_length,
col.precision
from sys.tables as tab
inner join sys.columns as col
on tab.object_id = col.object_id
left join sys.types as t
on col.user_type_id = t.user_type_id
order by schema_name,
table_name,
column_name;
Columns
- schema_name - name of the schema
- table_name - name of the table
- column_id - table column id, starting at 1 for each table
- column_name - name of the column
- data_type - column data type
- max_length - data type max length
- precision - data type precision
Rows
- One row: represents one table column
- Scope of rows: all columns in all tables in a database
- Ordered by: schema, table and column name
Sample results
You could also get this
Get this interactive HTML data dictionary in minutes with Dataedo.