Как узнать названия столбцов в sql
Столбцы таблицы, выводимой в результате запроса, по умолчанию называются по названиям полей, значения которых в них выводятся. Для столбцов в которых выводятся результаты выражений, задаются названия вида F1,F2. FN .
Для того чтобы задать для столбца таблицы произвольное название, достаточно в команде выборки запроса после названия выводимого поля данных, либо выражения, добавить ключевое слово AS и требуемое название столбца.
Если название столбца содержит знаки отличные от цифр и букв (пробелы, знаки препинания, математические символы, кавычки), его следует заключить в кавычки.
Примеры задания названий столбцам
Задание названия для столбца выводящего значения поля БД
SELECT Area as "Площадь дома" FROM Здания
Выводит таблицу из одного столбца Площадь дома со значениями поля Area БД слоя Здания карты.
Задание названия для столбца выводящего результаты выражения
SELECT Улица + " " + [Номер дома] as Адрес FROM Здания
Выводит результаты вычисления выражения в столбце Адрес таблицы.
Как получить название столбцов SQL запроса в postgresql?
Мне нужно получить имена столбцов после запроса, чтобы их вывести в компонент dataGridView1 . Для получения и заполнения имён столбцов таблицы использую :
dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); object a = comboBox1.SelectedItem; sql = "SELECT column_name FROM information_schema.columns WHERE table_name = '" + a + "'"; NpgsqlCommand com = new NpgsqlCommand(sql, con); con.Open(); NpgsqlDataReader reader; reader = com.ExecuteReader(); ArrayList nameColumns = new ArrayList(); while (reader.Read()) < try < nameColumns.Add(reader.GetValue(0)); >catch < >> dataGridView1.ColumnCount = nameColumns.Count; for (int i = 0; i < nameColumns.Count; i++) < dataGridView1.Columns[i].HeaderText = nameColumns[i].ToString(); >con.Close();
Но как получить название столбцов с результатом работы запроса, если учесть, что запрос на несколько таблиц?
Как получить список столбцов из таблицы имеющими тип Date?
Всем привет. Прошу помощи. БД Postgrees
Стоит задача вывести наименования столбцов с типом Date из таблицы(не данные, а именно столбцы).
Т.е найти все столбцы в таблице имеющие тип Date.
Имена столбцов указывать нельзя.
- Вопрос задан более трёх лет назад
- 5720 просмотров
Комментировать
Решения вопроса 1
V Sh. @JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Ну написать запрос к системной таблице, где хранится информация о всех столбцах всех таблиц БД. В ORACLE это, если мне не изменяет память, ALL_TAB_COLUMNS. Как она называется в POSTGRES вам поможет гугл.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 1
Eserchik @Eserchik Автор вопроса
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name = ‘tablename’
ORDER BY ordinal_position;
Как узнать названия столбцов в sql
Здравствуйте, Cynic, Вы писали:
C>А может лучше так
Спасибо за ссылку, я узнал новое слово в английском языке, полезно будет.
Между тем, если кликнуть по самой же первой ссылке в гугле (по запросу который я дал), узнаем как минимум 2 способа получить колонки таблицы:
exec sp_help mytable;
select name from syscolumns where /> Дальнейшая проверка показывает, что примерно половина всех страниц из ТОП 10 гугла по тому запросу содержат ответ на твой вопрос.
Но видимо прошлый урок, когда я уже дал ссылку на гугл, ничему не научил.
На самом деле это не просто понты — нужно всегда в первую очередь пользоваться документацией (MSDN, manual) и поисковиком. Я, например, в поисковике нахожу ответы более чем на половину возникающих у меня вопросов. И только если честно усердно искал, но не нашел в мануале и поисковике, то уже спрашиваю на форуме или у знакомых/друзей в ICQ.
Re[4]: Как получить название столбцов в SQL Server .
| От: | bnk | http://unmanagedvisio.com/ |
| Дата: | 06.12.09 22:10 | |
| Оценка: | 1 (1) | |
Здравствуйте, MozgC, Вы писали:
MC>Между тем, если кликнуть по самой же первой ссылке в гугле (по запросу который я дал), узнаем как минимум 2 способа получить колонки таблицы:
И оба «неправильные»
MC>Но видимо прошлый урок, когда я уже дал ссылку на гугл, ничему не научил.
MC>На самом деле это не просто понты — нужно всегда в первую очередь пользоваться документацией (MSDN, manual) и поисковиком. Я, например, в поисковике нахожу ответы более чем на половину возникающих у меня вопросов. И только если честно усердно искал, но не нашел в мануале и поисковике, то уже спрашиваю на форуме или у знакомых/друзей в ICQ.
По сути вопроса, я думаю что лучше было бы просто
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
Это вроде как из стандарта (AFAIK работает на «любой» версии, в том числе на CE, в том числе не только в MS SQL).
Re: Как получить названия столбцов в SQL Server .
| От: | Cynic |
| Дата: | 06.12.09 22:10 |
| Оценка: |
Придется самому ответить. Поскольку в русском поиске ни чего не ищется, будем надеяться что Google проиндексирует.
В T-SQL информацию подобного рода получают используя представления(VIEW) — статические запросы, которые можно использовать так, как если бы они были таблицами. Подробнее можно почитать здесь или здесь, как будет угодно.
SELECT COLUMN_NAME FROM .INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table>'
Re[5]: Как получить название столбцов в SQL Server .
| От: | Cynic |
| Дата: | 06.12.09 22:12 |
| Оценка: |
Здравствуйте, bnk, Вы писали:
Братан ты опередил меня на доли секунды
Re[5]: Как получить название столбцов в SQL Server .
| От: | MozgC | http://nightcoder.livejournal.com |
| Дата: | 06.12.09 22:15 | |
| Оценка: |
Здравствуйте, bnk, Вы писали:
bnk>И оба «неправильные»
bnk>Ага, напугался?
Немного так как с Sql Server не работаю, но искать в гугле вроде умею
bnk>По сути вопроса, я думаю что лучше было бы просто
bnk>
bnk>SELECT * FROM INFORMATION_SCHEMA.COLUMNS bnk>
bnk>Это вроде как из стандарта (AFAIK работает на «любой» версии, в том числе на CE, в том числе не только в MS SQL).
Этот вариант есть по второй ссылке в гугле, я привел пример только из первой
Re[5]: Как получить название столбцов в SQL Server .
| От: | Cynic |
| Дата: | 06.12.09 22:21 |
| Оценка: |
Здравствуйте, bnk, Вы писали:
bnk>По сути вопроса, я думаю что лучше было бы просто
bnk>
bnk>SELECT * FROM INFORMATION_SCHEMA.COLUMNS bnk>
bnk>Это вроде как из стандарта (AFAIK работает на «любой» версии, в том числе на CE, в том числе не только в MS SQL).
Может ты ещё подскажешь как получить количество столбцов в таблице
Вот ещё вопрос. В стандарте написано о существовании команды SIMILAR TO, а вот T-SQL её не понимает
Re[6]: Как получить название столбцов в SQL Server .
| От: | Cynic |
| Дата: | 06.12.09 22:24 |
| Оценка: |
Здравствуйте, MozgC, Вы писали:
bnk>>По сути вопроса, я думаю что лучше было бы просто
bnk>>
bnk>>SELECT * FROM INFORMATION_SCHEMA.COLUMNS bnk>>
bnk>>Это вроде как из стандарта (AFAIK работает на «любой» версии, в том числе на CE, в том числе не только в MS SQL).
MC>Этот вариант есть по второй ссылке в гугле, я привел пример только из первой
Ну вот по этой ссылке я ответ и нашёл Просто искать надо на англицком, русский поиск ни чего не находит
Re[6]: Как получить название столбцов в SQL Server .
| От: | bnk | http://unmanagedvisio.com/ |
| Дата: | 06.12.09 22:27 | |
| Оценка: |
Здравствуйте, MozgC, Вы писали:
MC>Этот вариант есть по второй ссылке в гугле, я привел пример только из первой
В общем ты прав конечно, и такие проблемы стоит решать с помощью гугла.
С другой стороны, часто не знаешь, можно так решить определенную проблему или нет.
То есть, является ли то решение, которое дает тебе гугл, «правильным» решением.
Он ведь «не знает», для чего ты его хочешь применять.
Обычно это можно оценить по числу выдаваемых ссылок.
Если их много, то скорее всего проблема является типичной, и решению от гугла стоит верить.
Если же ссылок мало, то скорее всего или ты крутой перец и первопроходец в своей области, или твоя задача вообще решается не так
(то есть была допущена «первая ошибка программиста» — решается «не та» задача).
Re[5]: Как получить название столбцов в SQL Server .
| От: | MozgC | http://nightcoder.livejournal.com |
| Дата: | 06.12.09 22:27 | |
| Оценка: |
Здравствуйте, bnk, Вы писали:
bnk>Это вроде как из стандарта (AFAIK работает на «любой» версии, в том числе на CE, в том числе не только в MS SQL).
Насколько я помню, к примеру в MySql этот «стандарт» появился относительно недавно, да и мне тут подсказывают что он, дословно, «меняется от версии к версии», о чем здесьпишет сам Microsoft:
В представления информационной схемы были внесены определенные изменения, нарушающие обратную совместимость. Эти изменения описаны в разделах, посвященных конкретным представлениям.
Ну и вроде Microsoft не позиционирует эту схему как стандарт, так как сами пишут:
Представление информационной схемы является одним из способов получения метаданных, которые предоставляет SQL Server.
Re[2]: Как получить названия столбцов в SQL Server .
| От: | Аноним |
| Дата: | 08.12.09 16:08 |
| Оценка: |
Ты б поставил себе BOL и не мучался гуглением. В статье про INFORMATION_SCHEMA описание всех представлений в кратком виде есть.
Возможно тебе не отвечали на вопрос, т.к. надеялись что ты и сам дойдёшь до всего увидев пример с INFORMATION_SCHEMA.
Re[3]: Как получить названия столбцов в SQL Server .
| От: | Cynic |
| Дата: | 09.12.09 12:03 |
| Оценка: |
Здравствуйте, Аноним, Вы писали:
А>Ты б поставил себе BOL и не мучался гуглением.
А что такое BOL
А>Возможно тебе не отвечали на вопрос, т.к. надеялись что ты и сам дойдёшь до всего увидев пример с INFORMATION_SCHEMA.
Да нет они просто воспитанием занимаются. Надо же как-то самомнение поднимать