SELECT A.TA001,A.TA002,A.TA003,B.TA006,B.TA034,B.TA035,A.TA004, C.MW002,B.TA015,
        (B.TA015-B.TA017-CASE WHEN(D.MB001='Y')THEN B.TA018 ELSE 0 END - CASE WHEN(D.MB002='Y')THEN B.TA060 ELSE 0 END) AS TA010C,
        A.TA008,B.TA044 AS TA044
  FROM SFCTA as A
  left join MOCTA as B on A.TA001=B.TA001 AND A.TA002=B.TA002
  left join CMSMW as C on A.TA004=C.MW001
  LEFT JOIN MOCMB AS D ON 1=1
  WHERE
                A.TA001+A.TA002>=SUBSTRING( A.TA001 + '    ',1,4) + A.TA002
                AND   NOT B.TA011 IN ('Y','y') and B.TA013='Y'
                AND B.TA061 IN ('',B.TA061) 
and A.TA001+A.TA002 not in (select TC004+TC005 from  SFCTC  SFCTA left join CMSMQ 
CMSMQ on TC004=MQ001  where MQ003='D1')
and (select TA001 from SFCTA) != B.TA001 AND (SELECT TA002 FROM SFCTA) != B.TA002
select TA001 from SFCTA类型时varchar类型
B.TA001 也是varchar类型
可是还是提示:从数据类型 varchar 转换为 numeric 时出错.