sql 取得欄位之名稱及其長度

SELECT '@'+c.name + ' ' +
CASE c.system_type_id
WHEN 167 THEN 'VARCHAR('+CAST(c.max_length AS VARCHAR(5))+')'
WHEN 106 THEN 'DECIMAL('+CAST(c.precision AS VARCHAR(5))+','+CAST(c.scale AS VARCHAR(5))+')'
WHEN 108 THEN 'DECIMAL('+CAST(c.precision AS VARCHAR(5))+','+CAST(c.scale AS VARCHAR(5))+')'
WHEN 35 THEN 'TEXT'
WHEN 61 THEN 'DATETIME'
WHEN 231 THEN 'NVARCHAR('+CAST(c.max_length/2 AS VARCHAR(5))+')'
WHEN 36 THEN 'UNIQUEIDENTIFIER'
WHEN 175 THEN 'CHAR('+CAST(c.max_length AS VARCHAR(5))+')'
WHEN 56 THEN 'INT)'
ELSE '' END
,c.name
FROM sys.columns c WHERE c.object_id ='1056058848'

原文地址:https://www.cnblogs.com/honhwa/p/2251144.html