Как я могу получить имена столбцов из таблицы в SQL Server?

//program to find number of repeating characters in a string
//Developed by Rahul Lakhmara

import java.util.*;

public class CountWordsInString {
    public static void main(String[] args) {
        String original = "I am rahul am i sunil so i can say am i";
        // making String type of array
        String[] originalSplit = original.split(" ");
        // if word has only one occurrence
        int count = 1;
        // LinkedHashMap will store the word as key and number of occurrence as
        // value
        Map<String, Integer> wordMap = new LinkedHashMap<String, Integer>();

        for (int i = 0; i < originalSplit.length - 1; i++) {
            for (int j = i + 1; j < originalSplit.length; j++) {
                if (originalSplit[i].equals(originalSplit[j])) {
                    // Increment in count, it will count how many time word
                    // occurred
                    count++;
                }
            }
            // if word is already present so we will not add in Map
            if (wordMap.containsKey(originalSplit[i])) {
                count = 1;
            } else {
                wordMap.put(originalSplit[i], count);
                count = 1;
            }
        }

        Set word = wordMap.entrySet();
        Iterator itr = word.iterator();
        while (itr.hasNext()) {
            Map.Entry map = (Map.Entry) itr.next();
            // Printing
            System.out.println(map.getKey() + " " + map.getValue());
        }
    }
}
607
задан Community 23 May 2017 в 12:10
поделиться

4 ответа

You can obtain this information and much, much more by querying the Information Schema views.

This sample query:

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'

Can be made over all these DB objects:

775
ответ дан 22 November 2019 в 21:49
поделиться
SELECT TOP (0) [toID]
      ,[sourceID]
      ,[name]
      ,[address]
  FROM [ReportDatabase].[Ticket].[To]

Простой и не требует никаких sys таблиц

0
ответ дан 22 November 2019 в 21:49
поделиться

Используя этот запрос, вы получите ответ:

select Column_name 
from Information_schema.columns 
where Table_name like 'table name'
43
ответ дан 22 November 2019 в 21:49
поделиться

Вы можете использовать хранимую процедуру sp_columns, которая будет возвращать информацию, относящуюся ко всем столбцам данной таблицы. Дополнительную информацию можно найти здесь http://msdn.microsoft.com/en-us/library/ms176077.aspx

Вы также можете сделать это с помощью SQL-запроса. Что-то вроде этого должно помочь:

SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName') 

Или вариант:

SELECT   o.Name, c.Name
FROM     sys.columns c 
         JOIN sys.objects o ON o.object_id = c.object_id 
WHERE    o.type = 'U' 
ORDER BY o.Name, c.Name

Это получает все столбцы из всех таблиц, упорядоченных по имени таблицы, а затем по имени столбца.

187
ответ дан 22 November 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: