当我尝试运行SQL查询时,出现了以下错误:
将varchar值“Id”转换为数据类型int时转换失败
SELECT *
FROM History
INNER JOIN Header
ON History.Id = Header.docId
请帮助我 :(
当我尝试运行SQL查询时,出现了以下错误:
将varchar值“Id”转换为数据类型int时转换失败
SELECT *
FROM History
INNER JOIN Header
ON History.Id = Header.docId
在您的Join
条件中,我确定其中一列是Integer
类型,另一列是Varchar
类型。
ON History.Id = Header.docId
由于Int
的优先级高于Varchar
,所以Varchar
列将被隐式转换为Int
。
因此,请显式地将Int
列转换为Varchar
。
ON History.Id = cast(Header.docId as varchar(50))
如果没有考虑过Header.docId
为Int
类型,则将History.Id
转换为varchar
SELECT *
FROM History
INNER JOIN Header
ON cast(History.Id AS int) = Header.docId