Sentry Answers>SQL Server>

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

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:

Click to Copy
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.

  • Syntax.fmListen to the Syntax Podcast
  • Community SeriesIdentify, Trace, and Fix Endpoint Regression Issues
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,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.

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