【发布时间】:2014-12-08 07:12:49
【问题描述】:
我需要比较定义的长度和SQL中的实际值。
例如:
+--------------|---------------------|-------------+
COLUMN_NAME | DefinitionMaxLength |ActualLength
+--------------|---------------------|-------------+
COL 1 | 20 | 25
COL 2 | 30 | 26
这是我获取表元数据的 SQL。
SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH AS DefinitionMaxLength
from INFORMATION_SCHEMA.COLUMNS as COL
WHERE COL.DATA_TYPE ='varchar' AND COL.TABLE_NAME='TableSRC'
我现在的问题是如何获得实际表格的最大长度。我使用了Max(Len(COLUMN_NAME)),但这不起作用。
SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH AS DefinitionMaxLength, MAX(LEN(COLUMN_NAME))
from INFORMATION_SCHEMA.COLUMNS as COL
WHERE COL.DATA_TYPE ='varchar' AND COL.TABLE_NAME='TableSRC'
COLUMN_NAME 基于元数据的输出。
【问题讨论】:
-
我正在使用 SQL Server。
标签: sql sql-server metadata