SQL Server. Поиск таблицы по названию поля


Буквально вчера столкнулся с одной задачей: найти таблицу с полем, название которого содержит "date". Результат нужен был примерно такой:

Таблица - Operations, название поля - operationDate.
Таблица - Users, название поля - registrationDate.

Путешествие по просторам сайта Microsoft дало результаты. Что ж, создаем файл нового запроса (нажимаем кнопку Создать запрос) и приступаем к решению задачи:

Если название поля нужно искать по таблицам одной конкретной базы данных, то пишем команду:

USE Store;

Здесь Store - название той базы, которая нам нужна. Выполняем запрос (F5). Теперь все команды в нашем файле запроса будут выполняться по указанной базе - Store.

Стираем предыдущую команду и пишем следующий запрос:

SELECT
    TABLE_NAME,
    COLUMN_NAME
FROM
    INFORMATION_SCHEMA.COLUMNS
WHERE
    COLUMN_NAME LIKE '%date%'

Результат выполнения запроса:


Столбец со словом date есть только один и только в одной таблице. В вашем случае их может быть больше.

INFORMATION_SCHEMA.COLUMNS - представление, которое хранит данные о полях (столбцах) всех таблиц базы данных Store.

Столбцы, участвующие в запросе:
TABLE_NAME - имя таблицы. Данные из этого столбца будут показывать, в какой таблице есть столбец, содержащий в названии слово date.
COLUMN_NAME - имя столбца. Здесь мы увидим полное название столбца, которое содержит слово date.

На этом сегодня наш мини-урок закончен. Рад, если вам пригодились эти знания ) Доброго кода вам :)

Комментарии

Популярные сообщения из этого блога

Закладки в Adobe Reader. Лайвхак

Изучение SQL. Впечатления