将varchar值'Id'转换为数据类型int时转换失败

jho*_*vyn 4 sql sql-server type-conversion

尝试运行我的SQL查询时遇到此错误...

将varchar值'Id'转换为数据类型int时转换失败

SELECT *
FROM History
INNER JOIN Header
ON History.Id = Header.docId
Run Code Online (Sandbox Code Playgroud)

请帮我 :(

Pரத*_*ீப் 9

在您的Join情况下,我确定一列是Integer类型,另一列是Varchar类型.

ON History.Id = Header.docId
Run Code Online (Sandbox Code Playgroud)

由于Int优先级高于varchar,Varchar列将被隐式转换为Int

因此,显式将Int列转换为varchar.

ON History.Id = cast(Header.docId as varchar(50))
Run Code Online (Sandbox Code Playgroud)

如果没有,我认为Header.docIdInt类型,然后转换History.Idvarchar