Ответ 1
Вместо count(*)
вы можете SELECT *
, и вы вернете все детали, которые хотите, включая data_type
:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'
Документы MSDN на INFORMATION_SCHEMA.COLUMNS
Я могу получить количество столбцов в базе данных SQL Server с помощью этого:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'
Но есть ли какой-либо способ (для неизвестного числа столбцов), я могу получить имя и тип данных и длину каждого столбца?
Вместо count(*)
вы можете SELECT *
, и вы вернете все детали, которые хотите, включая data_type
:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'
Документы MSDN на INFORMATION_SCHEMA.COLUMNS
sp_help даст вам целую кучу информации о таблице, включая столбцы, ключи и ограничения. Например, запуск
exec sp_help 'Address'
предоставит вам информацию об адресе.
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'
Введите имя таблицы в редакторе запросов, выберите имя и нажмите Alt + F1, и он отобразит всю информацию в таблице.
Для общей информации о столбцах используйте синтаксис ниже: Используйте "DBName" идти Exec SP_Columns "TableName"
Для общей информации таблицы используйте синтаксис ниже: Используйте "DBName" идти Exec SP_help "Имя таблицы"