要么这是不可能的,要么我不能写一个好的互联网搜索。
我有一个查询来获取我们数据库的表和列信息:
SELECT t.name [table],
c.name [column]
FROM sys.tables t
LEFT JOIN sys.columns c on t.object_id = c.object_id
我想做的是添加类似的东西
(Select AVG(LEN(c.name)) from t.name) [AVG LEN]
我显然会建立一些检查,只在 varchar 上运行 Len,而在常规 AVG 上运行数字,但这部分很容易。它正在让 SQL 真正正确地处理我正在努力解决的名称。
对于 varChars,我的目标是获取字符串值的最小、平均、最大和模式长度。为了简单起见,我只列出了 AVG。我还将对数值做一些工作。
这样,当我为这些领域开发控件时,我可以更好地估计制作控件的大小。我可以逐列执行此操作,但我希望能够运行一个查询并将我的表和列放在一个漂亮的图表中。
您可以使用动态 SQL、游标和全局临时表来收集这些信息。请注意,性能不会很好(游标通常是一个坏主意),但如果您只需要一次性运行它,那么它应该没问题。