如何从SQL Server中的表中选择具有列名的列数据类型?
这样的事情:
select AgentID, Datatype, ReportNo, Datatype
from MyTable
期望的输出
我不想使用InformationSchema
- 我知道这会有效:
select COLUMN_NAME, DATA_TYPE
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'MyTable'
我不能直接使用表中的详细信息吗?
答案 0 :(得分:1)
当您想知道表格中列的详细信息时。您只需使用(sp_columns)
即可sp_columns MyTable
答案 1 :(得分:0)
您可以编写如下查询:
SELECT I.[AgentID],
T.data_type as 'Data Type',
I.[ReportNo],
T1.data_type as 'Data Type'
FROM MyTable I
CROSS APPLY ( SELECT data_type
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'MyTable' AND COLUMN_NAME = 'AgentID') AS T
CROSS APPLY ( SELECT data_type
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'MyTable' AND COLUMN_NAME = 'ReportNo') AS T1