繁体   English   中英

如何查询数据库所有表中的所有列

[英]How to Query All Columns in All Tables of a Database

在典型的查询中,您必须在 where 语句中声明一列。

Select *
From TABLE 
Where ColumnName like '%Some Value%'

我想扩展我的查询以针对每个表中的每一列执行。

更多信息:我正在使用一个有大约 1,000 个表的数据库,每个表都有 5-100 列。 我正在尝试检查整个数据库中的特殊字符。 我现有的查询有效,但它是每列的,并且很难为每个表中的每一列编写。

SELECT *
FROM Table
WHERE ColumnName '%[^a-z0-9 ._-]%'

这可能已经得到解决,因为它不能是唯一的 - 但我还没有找到直接回答它的帖子(通常它是某种形式的改编)。 如果有一篇文章确实捕捉到了这一点,请随时链接 - 我只是还没有找到一个完全涵盖它的帖子。 看起来它可能是对“字符串搜索数据库”脚本的改编,但我还没有看到其中一个我能够适应包括我正在使用的逻辑。

尝试以下查询以获取所有数据库表中的所有列

select c.COLUMN_NAME,c.DATA_TYPE,t.name from sys.objects t join INFORMATION_SCHEMA.COLUMNS c on c.TABLE_NAME=t.name where type='U'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM