查找包含具有指定名称的列的所有表

是否可以查询包含列的表名?

LIKE '%myName%'


搜索表格:

SELECT      c.name  AS 'ColumnName'
            ,t.name AS 'TableName'
FROM        sys.columns c
JOIN        sys.tables  t   ON c.object_id = t.object_id
WHERE       c.name LIKE '%MyName%'
ORDER BY    TableName
            ,ColumnName;

搜索表和视图:

SELECT      COLUMN_NAME AS 'ColumnName'
            ,TABLE_NAME AS  'TableName'
FROM        INFORMATION_SCHEMA.COLUMNS
WHERE       COLUMN_NAME LIKE '%MyName%'
ORDER BY    TableName
            ,ColumnName;

我们也可以使用以下语法: -

select * from INFORMATION_SCHEMA.COLUMNS 
where COLUMN_NAME like '%clientid%' 
order by TABLE_NAME

如果你更喜欢第三方工具,那里有很多选择,例如:

  • ApexSQL搜索
  • SSMS工具包
  • 红门工具。
  • 如果您的数据库包含加密对象(视图,过程,函数),这些非常方便,因为您无法使用系统表轻松搜索这些对象。

    链接地址: http://www.djcxy.com/p/7657.html

    上一篇: Find all tables containing column with specified name

    下一篇: LEFT JOIN vs. LEFT OUTER JOIN in SQL Server