sample.sql
SELECT
c.name AS データ型
FROM dbo.syscolumns a
INNER JOIN
dbo.sysobjects b ON a.id = b.id
INNER JOIN dbo.systypes c ON a.xtype = c.xtype
LEFT OUTER JOIN dbo.sysindexkeys ON a.colid = dbo.sysindexkeys.colid AND a.id = dbo.sysindexkeys.id AND dbo.sysindexkeys.indid=1
LEFT OUTER JOIN dbo.syscomments ON a.cdefault = dbo.syscomments.id
INNER JOIN (
select id,name as テーブル名称 from sysobjects
where xtype='U'
) DT On b.name=dt.テーブル名称
where c.name<>'sysname'
group by c.name
実行結果の例
bit
datetime
int
nchar
numeric
nvarchar
varchar