【发布时间】:2014-01-15 03:52:35
【问题描述】:
我无法连接具有不同数据类型的两列。
main_ref_id 是 char 和 person_id 是 numeric
查询:
select
main_ref_id
from
not
where
main_ref_type = 'P'
and convert(numeric(9, 0), main_ref_id) in (select cast(person_id as numeric)
from person_wo_memberships)
错误
消息 8114,第 16 级,状态 5,第 1 行
将数据类型 varchar 转换为数值时出错。
有什么帮助???
【问题讨论】:
-
你可以分享你的表结构,你也可以尝试加入列而不转换为数字。只需将它们作为字符串加入即可。
-
您将
main_ref_id转换为 NUMERIC(9,0) 并将person_id转换为 NUMERIC(18,0)。您是否查看了这两列中的数据以查看是否有任何非数字值?它们是什么数据类型?而且我不相信from not where语法有意义。还有其他龙掉落错误吗?
标签: sql sql-server sql-server-2008