我写在Postgres的select语句包含的case语句如下:错误:CASE类型的字符改变和数字不能匹配
,(case when all_loc.country = 'DE' then msc_si.buyer_id else msc_si.buyer_name end) as "purchasing_group_name_buyer_name" --story
,(case when all_loc.country = 'DE' then msc_si.planner_code else mscp.description end) as "mrp_controller_name" --story
我收到以下错误。我试过用IS
而不是=
,没有工作。没有这两个case
语句,查询运行完美。
ERROR: CASE types character varying and numeric cannot be matched SQL state: 42804
@a_horse_with_no_name,我不认为这是一个比较问题,我认为这是一个类型输出问题。也就是说,我假设'msc_si.buyer_name'是一个字符串,'msc_si.buyer_id'是一个数字。 – jmelesky