27

これを使用して、SQL Server データベースの列数を取得できます。

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'

しかし、(不明な数の列に対して)各列の名前とデータ型と長さを取得する方法はありますか?

4

6 に答える 6

65

使用する代わりに、以下を含む必要なすべての詳細を返すことcount(*)ができます。SELECT *data_type

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'

MSDN ドキュメントINFORMATION_SCHEMA.COLUMNS

于 2013-02-11T20:13:54.507 に答える
29

sp_helpは、列、キー、制約など、テーブルに関するさまざまな情報を提供します。たとえば、実行中

exec sp_help 'Address' 

アドレスに関する情報を提供します。

于 2013-02-11T20:14:16.173 に答える
4

クエリ エディターにテーブル名を入力し、名前を選択して Alt+F1 を押すと、テーブルのすべての情報が表示されます。

于 2015-01-22T06:00:09.007 に答える
4

名前とデータ型:

USE OurDatabaseName
GO

SELECT 
    sc.name AS [Columne Name], 
    st1.name AS [User Type],
    st2.name AS [Base Type]
FROM dbo.syscolumns sc
    INNER JOIN dbo.systypes st1 ON st1.xusertype = sc.xusertype
    INNER JOIN dbo.systypes st2 ON st2.xusertype = sc.xtype
-- STEP TWO: Change OurTableName to the table name
WHERE sc.id = OBJECT_ID('OurTableName')
ORDER BY sc.colid

または:

SELECT COLUMN_NAME AS ColumnName, DATA_TYPE AS DataType, CHARACTER_MAXIMUM_LENGTH AS CharacterLength
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'OurTableName'
于 2013-02-11T20:20:15.953 に答える
0

列の合計情報については、次の構文を使用します: Use "DBName" go Exec SP_Columns "TableName"

合計テーブル情報については、次の構文を使用します。 Use "DBName" go Exec SP_help "Table Name"

于 2013-09-18T10:18:08.397 に答える