1. 程式人生 > 實用技巧 >sqlserver匯出表結構至Excel

sqlserver匯出表結構至Excel

開啟sqlserver新建查詢

use [庫名]
SELECT
     表名       = Case When A.colorder=1 Then D.name Else '' End,
     表說明     = Case When A.colorder=1 Then isnull(F.value,'') Else '' End,
     欄位序號   = A.colorder,
     欄位名     = A.name,
     欄位說明   = isnull(G.[value],''),
     標識       = Case When COLUMNPROPERTY( A.id,A.name,'
IsIdentity')=1 Then ''Else '' End, 主鍵 = Case When exists(SELECT 1 FROM sysobjects Where xtype='PK' and parent_obj=A.id and name in ( SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = A.id AND colid=A.colid))) then '' else
'' end, 型別 = B.name, 佔用位元組數 = A.Length, 長度 = COLUMNPROPERTY(A.id,A.name,'PRECISION'), 小數位數 = isnull(COLUMNPROPERTY(A.id,A.name,'Scale'),0), 允許空 = Case When A.isnullable=1 Then ''Else '' End, 預設值 = isnull(E.Text,'') FROM syscolumns A Left
Join systypes B On A.xusertype=B.xusertype Inner Join sysobjects D On A.id=D.id and D.xtype='U' and D.name<>'dtproperties' Left Join syscomments E on A.cdefault=E.id Left Join sys.extended_properties G on A.id=G.major_id and A.colid=G.minor_id Left Join sys.extended_properties F On D.id=F.major_id and F.minor_id=0 --where d.name='OrderInfo' --如果只查詢指定表,加上此條件 Order By A.id,A.colorder

查詢結果

複製貼上至Excel就OK了!