1
我需要比較定義的長度和SQL中的實際值。動態獲取每列的最大長度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。 – MMakati 2014-12-08 08:08:23