You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SQLPro for MSSQL获取COLUMN_NAME、DATA_TYPE遇Msg207报错求助

解决SQL查询列名和数据类型时的Invalid Column Name错误

哦,我明白问题出在哪了——你想要获取目标表的列名和对应数据类型,但你写的查询是直接从表dbo.[CORDELACIUTAT Resource Time Registr_]里选择COLUMN_NAME和DATA_TYPE,可这两个字段根本不在这个表里面呀!这就是为什么会抛出Invalid column name错误的原因。

要获取表的结构信息(列名、数据类型等),你需要查询SQL Server的系统元数据视图,而不是直接查询目标表本身。这里给你两种常用的解决方案:

方法1:使用INFORMATION_SCHEMA.COLUMNS(标准兼容方式)

这是ANSI标准的系统视图,在大多数关系型数据库中都适用,写法更简洁:

SELECT COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'CORDELACIUTAT Resource Time Registr_'
  AND TABLE_SCHEMA = 'dbo';

方法2:使用SQL Server专属系统视图

如果你需要更详细的元数据信息,可以结合sys.columns、sys.types等系统视图来查询:

SELECT 
    c.name AS COLUMN_NAME,
    t.name AS DATA_TYPE
FROM sys.columns c
JOIN sys.types t ON c.system_type_id = t.system_type_id
JOIN sys.tables tbl ON c.object_id = tbl.object_id
JOIN sys.schemas sch ON tbl.schema_id = sch.schema_id
WHERE sch.name = 'dbo'
  AND tbl.name = 'CORDELACIUTAT Resource Time Registr_';

这两种方式都是从SQL Server存储的表结构元数据中读取信息,就能正确返回你需要的列名和数据类型啦。

内容的提问来源于stack exchange,提问作者en Peris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:18:41