TSQL - 在没有动态SQL的情况下,在每个表的每列中获取最大数据长度

时间:2013-04-01 22:33:41

标签: sql-server tsql sql-server-2012

有没有办法获得存储在数据库中每列中的最大数据长度?我见过一些使用Dynamic SQL的解决方案,但我想知道是否可以使用常规查询来完成。

2 个答案:

答案 0 :(得分:1)

是的,只需查询数据库的INFORMATION_SCHEMA.COLUMNS视图,您可以根据需要从数据库中所有表的所有列中获取信息,有关详细信息,请参阅以下内容:

Information_Schema - COLUMNS

答案 1 :(得分:0)

如果你在谈论特定数据的长度和列的声明长度,我担心没有动态SQL是不可能实现的。

原因是只有方法来检索数据,那就是-- This does not work select col.Data from Table where Table.col.Name='ColumnName' 语句。但是,此语句需要一个显式列,它是语句本身的一部分。没有什么比像

{{1}}

所以答案是:不。