【发布时间】:2017-06-26 22:46:07
【问题描述】:
尝试运行我的 sql 查询时出现此错误...
将 varchar 值“Id”转换为数据类型时转换失败 诠释
SELECT *
FROM History
INNER JOIN Header
ON History.Id = Header.docId
请帮帮我:(
【问题讨论】:
标签: sql sql-server type-conversion
尝试运行我的 sql 查询时出现此错误...
将 varchar 值“Id”转换为数据类型时转换失败 诠释
SELECT *
FROM History
INNER JOIN Header
ON History.Id = Header.docId
请帮帮我:(
【问题讨论】:
标签: sql sql-server type-conversion
在您的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
【讨论】:
尝试将 Id 列转换为 INT
SELECT *
FROM History
INNER JOIN Header
ON cast(History.Id AS int) = Header.docId
【讨论】: