回答
可以使用INFORMATION_SCHEMA.COLUMNS
系統視圖:
SELECT DISTINCT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'Name of column';
即使對於MSSQL 2000也適用。 – 2017-06-27 14:14:10
這會找到您在當前/活動數據庫中的列。如果您在不同的數據庫的時候,只是前綴INFORMATION_SCHEMA.COLUMNS
與數據庫名稱(如dbname.INFORMATION_SCHEMA.COLUMNS
)
DECLARE @Schema varchar(max)
DECLARE @Column varchar(max)
SET @Schema = NULL
SET @Column = 'primary_id'
SELECT DISTINCT
TABLE_NAME, *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = @Column
AND
(
@Schema IS NULL
OR TABLE_SCHEMA = @Schema
)
這將在SQL Server的工作,應當在其他DBMS的工作過,因爲INFORMATION_SCHEMA有所標準化(例如,在這裏它是在MySQL的:http://dev.mysql.com/doc/refman/5.0/en/columns-table.html)
該查詢會給你一個名爲foo的列中的所有表
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'foo'
select TABLE_NAME from Your_Database_Name.INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME like '%ColumnName%' group by TABLE_NAME
要知道,儘管正確的SQL *服務器(和MySQL - 和Postgres)的答案是Oracle不同,因爲它們不支持的信息模式(這是ANSI SQL- 92,所以他們有足夠的時間這樣做)。
在Oracle上你會用
SELECT table_name, column_name
FROM ALL_TAB_COLUMNS
WHERE column_name = :column_name
或者你可以創建一個模式,並查看做失蹤INFORMATION_SCHEMA.COLUMNS的工作。
找到一個開源項目來添加缺少的支持: http://sourceforge.net/projects/ora-info-schema/ – JulesLt 2010-08-31 11:23:21
in sybase;
declare @column varchar(30)
select @column = 'column_name'
select object_name(id), @column from DB_NAME..syscolumns where name = @column
感謝BurçinYazıcı:) – 2010-08-31 12:43:41
- 1. JPA在列表中命名查詢
- 2. 如何查找表列名已存在或不在ruby中?
- 3. 在空表中查找SQLite列名
- 4. 查找HTML表中是否存在列
- 5. 基於查找表重命名錶
- 6. 的BigQuery查詢查找表的列名
- 7. MySQL - 在搜索結果中查找列名中的表名
- 8. 查找列表中列表內矩陣內向量的存在
- 9. 查找列表中的項目存在於另一個列表
- 10. 在HTML中查找表名
- 11. 在PSQL中查找表名
- 12. 命名列表的列表
- 13. 如何在C#中的數據表中查找列的存在?
- 14. 使用默認的sql表來查找表中存在的列
- 15. 如何查找並替換列表中的文件名列表
- 16. 在Excel/VBA中從重複名稱列表中查找表格
- 17. 在列表python中查找列表
- 18. 在cakephp中查找列表
- 19. 在列表中查找值
- 20. 列表中查找在列表的列表中的Prolog
- 21. 在bash文件中查找列表中的確切名稱
- 22. 在Python中查找列表中專有名詞的位置
- 23. 查找MySQL的用戶排名列表
- 24. 如何查找列的表名
- 25. 的SharePoint:在列表中查找一個查找列
- 26. 從v $ datafile中查找表名。名稱列表
- 27. 查找表名
- 28. 在多維數組中查找緩存未命中/命中率
- 29. SQLite - 將表名的列名存儲在字符串列表中
- 30. 如何從SQL Server 2005中的列值查找表的列名?
此問題僅被標記爲SQL Server(因爲答案因數據庫而異) – JulesLt 2010-08-31 11:15:04
@JulesLt:「INFORMATION_SCHEMA」至少有點標準。例如,這裏是在MySql中:http://dev.mysql.com/doc/refman/5.0/en/columns-table.html。 – 2010-08-31 11:18:57
這是ANSI 92,但拉里的明顯例外不支持! – JulesLt 2010-08-31 11:20:40