SQL Server 查看字段详情

2022/10/2 posted in  SQL comments
DECLARE @table_name AS VARCHAR(MAX);
SET @table_name = 'ZC_EMS_SQB_PRE';
SELECT
       UPPER (sys.columns.name) AS 字段
     , UPPER (sys.types.name)   AS 类型
     , sys.columns.max_length   AS 长度
     , sys.columns.is_nullable  AS 允许空值
     , (
           SELECT
                  COUNT (*)
             FROM sys.identity_columns
            WHERE sys.identity_columns.object_id = sys.columns.object_id
                  AND sys.columns.column_id = sys.identity_columns.column_id
       )                        AS is_identity
     , (
           SELECT
                  value
             FROM sys.extended_properties
            WHERE sys.extended_properties.major_id = sys.columns.object_id
                  AND sys.extended_properties.minor_id = sys.columns.column_id
       )                        AS 说明
  FROM sys.columns
     , sys.tables
     , sys.types
 WHERE sys.columns.object_id = sys.tables.object_id
       AND sys.columns.system_type_id = sys.types.system_type_id
       AND sys.tables.name = @table_name
       AND sys.types.name <> 'sysname'
 ORDER BY 允许空值 ASC
        , 字段 ASC