/**********************查询所有数据库中字段的定义不统一的地方************************/
-- ac -> 所有用户表中的字段信息
-- e -> 相同"名称"的字段信息
-- F -> ac和b 的关联表,目的是能把需要的信息显示到一起
-- a -> 名称、长度和类型都相同并且在数据库中存在多条的字段信息
WITH AllCol AS
(
SELECT a.Name as tableName,b.length,b.[type], b.name
from sysobjects a inner join syscolumns b on a.id=b.id
WHERE a.xtype='U'
)
SELECT * FROM
(
SELECT ac.*,b.[count] FROM
AllCol ac
right JOIN
(
SELECT * FROM
(
SELECT ac.name,COUNT(ac.name) Count FROM AllCol ac
GROUP BY ac.name
)e WHERE e.[COUNT] >1 -- e 相同"名称"的字段信息
)b ON ac.NAME = b.name
) F
WHERE F.NAME NOT IN
(
SELECT A.NAME FROM
(
SELECT ac.name,COUNT(ac.name) COUNT,ac.length,ac.type FROM AllCol ac
GROUP BY ac.name,ac.length,ac.type
)a WHERE a.count>1 -- a 名称、长度和类型都相同并且在数据库中存在多条的字段信息
)
查询数据库中字段的定义不统一的地方
最新推荐文章于 2019-09-09 14:48:00 发布