sql server 2012 - A query to get the MAX LEN of every field in a SQL table -


i've been trying come query list name of every column in table it's max length.

this in sql server 2012.

any appreciated.

you can use below query the actual , used length of columns in table

 declare @tsql varchar(max) = '' declare @tablename sysname = 't1' select @tsql = @tsql + 'select ' + quotename(sc.name, '''') + ' columnname, ' + quotename(t.name, '''') + ' datatype, ' + quotename(sc.max_length, '''') + ' actuallength, max(datalength(' + quotename(sc.name) + ')) usedlength '+@tablename+ char(10) +' union ' sys.columns sc         join sys.types t on t.system_type_id = sc.system_type_id , t.name != 'sysname' sc.object_id = object_id(@tablename) set @tsql = left(@tsql, len(@tsql)-6) exec(@tsql) 

Comments