有没有办法查看数据库中的任何表中是否存在特定字段?

Is there a way to see if a specific field exists in any of the tables in a database?

我有一个 SQL 服务器数据库,其中包含约 100 个表,每个表由 50-450 列(字段)组成,我想知道某个字段是否存在于任何表中而无需手动检查它们。

例如,我想找出哪些表包含字段household_no

我怎样才能做到这一点?

一种方法是使用 sys 对象:

SELECT s.[name] AS SchemaName,
       t.[name] AS TableName
FROM sys.schemas s
     JOIN sys.tables t ON s.schema_id = t.schema_id
     JOIN sys.columns c ON t.object_id = c.object_id
WHERE c.[name] = N'household_no';