select * from A INNER JOIN
                 B ON AND A.V = B.V AND A.N = B.N 
                 and (cast( blocked as decimal(18,2)) from A where isnumeric(blocked)=1 )!='' 
blocked 是numeric类型, 是A表中的一列。现在我要的查询条件是blocked不等于空,当写成blocked!=''时,会提示varchar转会为numeric是出错。用上面所写的,会提示from附近语法错误。
 请高手指点,谢谢!