EXEC(
'SELECT 
 table.type, 
case CH_table.sex
 when 1 then '+'男'+'
 when 0 then '+'女'+'
 else '+'未知'+'
end as sex,
                                        case table.ynTest--是否允
  when 0 then '+'×'+'
  when 1 then '+'√'+' 
end as ynTest
FROM table '+@STRWHERE
) 备注说明:  √ 在HTML 是一个勾  ,  ×是一个叉
在存储过程拼SQL的形式执行条件查询, 现在@STRWHERE 的值是 where 1=1
报错为   '&' 附近有语法错误。 
--- 求大夹高解!!

解决方案 »

  1.   

    EXEC( 
    'SELECT 
    table.type, 
    case CH_table.sex 
    when 1 then '+'男'+' 
    when 0 then '+'女'+' 
    else '+'未知'+' 
    end as sex, 
                                            case table.ynTest--是否允 
      when 0 then '+'×'+' 
      when 1 then '+'√'+' 
    end as ynTest 
    FROM table '+@STRWHERE 
      

  2.   

    EXEC( 
    'SELECT 
    table.type, 
    (case CH_table.sex 
    when 1 then '+'''男'''+' 
    when 0 then '+'''女'''+' 
    else '+'''未知'''+' 
    end) as sex, 
     (case table.ynTest 
      when 0 then '+'''×'''+' 
      when 1 then '+'''√'''+' 
    end as ynTest 
    FROM table '+@STRWHERE 

      

  3.   

    拼字符串要加''字符串''
    比如
    exec('select '+ '''×'''+ ' as col1')