1

INFORMATION_SCHEMA.COLUMNS数値列のサイズを取得するために選択したい。Microsoft SQL Server Management Studio のプロパティでサイズが設定されていることがわかりますが、INFORMATION_SCHEMA.COLUMNSこの情報はありません。数値列のこの情報を取得できる他のテーブルはありますか?

たとえばINT、サイズが 4 であると定義された列が INFORMATION_SCHEMA.COLUMNS CHARACTER_MAXIMUM_LENGTHありますが、 NULL.

selectステートメントでこのサイズを取得するにはどうすればよいですか?

4

1 に答える 1

0

固執したい場合INFORMATION_SCHEMA.COLUMNSは、整数ベースの列のデータ型から推測する必要があります。

SELECT COLUMN_NAME,
    DATA_TYPE,
    COALESCE(CHARACTER_MAXIMUM_LENGTH, 
        (Select Length From sys.systypes s Where s.name = c.DATA_TYPE)
        ) As Max_Len
FROM    INFORMATION_SCHEMA.COLUMNS c

ただし、他のいくつかのタイプ (NUMERIC、DECIMAL など) には追加の作業を行う必要があります。

于 2013-03-04T21:47:18.080 に答える