我无法连接两个具有不同数据类型的列。
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)
错误
Msg 8114,Level 16,State 5,Line 1
将数据类型varchar转换为数字时出错。
任何帮助???
答案 0 :(得分:1)
您已声明main_ref_id
为char
,但您尝试将其转换为numeric
值。错误是不言自明的。
尝试将person_id
numeric
转换为char
select main_ref_id
from [not]
where main_ref_type='P' and
main_ref_id in
(select cast(person_id as varchar)
from person_wo_memberships )
请在varchar
语句中定义cast
的长度,以匹配main_ref_id
的长度