Skip to content

Instantly share code, notes, and snippets.

@enab-dev
Created February 2, 2015 21:24
Show Gist options
  • Save enab-dev/313aa690c5a4a924cccd to your computer and use it in GitHub Desktop.
Save enab-dev/313aa690c5a4a924cccd to your computer and use it in GitHub Desktop.
Get the column names, data types, max lengt, precision, scale, nullable flag and primary key flag from a SQL table
/* Get the column names, data types, max lengt, precision, scale, nullable flag and primary key flag from a SQL table. Works for SQL 2005 and above. Simply replace the 'TABLE_NAME_HERE' with your table name. */
SELECT
c.name 'Column Name',
t.Name 'Data type',
c.max_length 'Max Length',
c.precision ,
c.scale ,
c.is_nullable,
ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM
sys.columns c
INNER JOIN
sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN
sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN
sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
c.object_id = OBJECT_ID('TABLE_NAME_HERE')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment