1

我想选择 onINFORMATION_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 回答