要將資料庫內的資料表規格做成EXCEL,
需要抓取各欄位名稱以及資料型別等等,
不想自己手打就用SQL語法抓了。
參考這個回答
Exporting SQL Server schema to Excel
關鍵就是 「select * from INFORMATION_SCHEMA.COLUMNS」
可以抓資料表所有欄位的相關定義,效果如下圖:

剩下就是抓出要的欄位,做格式上的調整,
我自己的需求的話就會像這樣
SELECT ORDINAL_POSITION AS '序號',
COLUMN_NAME AS '欄位名稱',
DATA_TYPE AS '格式',
--有長度的資料欄位
CASE WHEN CHARACTER_MAXIMUM_LENGTH>0 THEN CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR)
WHEN CHARACTER_MAXIMUM_LENGTH=-1 THEN 'MAX' //MAX 值會是-1
--數字型態的長度是在另一個欄位,時間型態的還是會是NULL
WHEN CHARACTER_MAXIMUM_LENGTH is null
THEN CAST(NUMERIC_PRECISION AS VARCHAR) +','+CAST(NUMERIC_SCALE AS VARCHAR)
END AS '長度',
CASE WHEN IS_NULLABLE = 'YES' THEN ''
ELSE IS_NULLABLE END AS '允許Null',
CASE WHEN COLUMN_DEFAULT is null THEN ''
--去掉前後括號
ELSE SUBSTRING(COLUMN_DEFAULT,2,LEN(COLUMN_DEFAULT)-2) END AS '預設值'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME=[TABLENAME]
產生的結果會像

最後在將所有資料選取後,按右鍵就選取「與標頭一起複製」,如下圖,就可以貼到EXCEL做後續編輯了。
