How to find all tables containing a column with the specified name in MS SQL Server

Richard C.

The Problem

If your SQL Server database has numerous tables, each with many columns, you might have difficulty recalling exactly which tables contain the data you want. How can we search the column names themselves, not the data in the columns, to find which might hold what we’re looking for?

The Solution

In SQL Server it’s easy. Run the following query, replacing the database name with yours, and the column name with what you are searching for:

SELECT Table_Name, Column_Name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = 'MyDatabase' AND COLUMN_NAME LIKE '%age%'

The % signs mean SQL will return partial matches of the column name, making your search more powerful.

This query will work in MySQL and PostgreSQL too, with a few small changes. This is why we don’t recommend using SQL Server-specific tables, like sys.columns, to search for column names.

Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Share on Twitter
Bookmark this page
Ask a questionJoin the discussion

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.