SQL Server查询获取数据库的所有表中可用的所有特定列?

时间:2018-01-29 11:55:17

标签: sql sql-server

我想了解一个特定的列,它在数据库中可用的所有表中的位置和所有列。 (提供的列名在所有表中都相同)

3 个答案:

答案 0 :(得分:2)

在SQL Server中 INFORMATION_SCHEMA.COLUMNS 视图允许您获取有关数据库中所有表和视图的所有列的信息。

使用以下查询,您可以找到具有特定列名称的所有视图和表。

SELECT COLUMN_NAME,TABLE_NAME 
FROM   INFORMATION_SCHEMA.COLUMNS
WHERE  COLUMN_NAME ='YOUR_COLUMN_NAME'

答案 1 :(得分:1)

试试这个

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;

答案 2 :(得分:0)

您可以使用以下查询

SELECT * FROM information_schema.columns
WHERE Table_Schema = DATABASE()  
AND Column_Name LIKE '%Column_name%' ;

Table_Schema = DATABASE()此条件默认情况下选择您正在使用的数据库名称,以提高性能