SELECT

FROM
 tabel
/*begin*/
/*IF aa !=null*/
WHERE
 table.aa = ‘aa’
/*END*/
/*END*/
我想在java中传递一个参数aa到SQL中,然后aa不为空的时候执行WHERE,这样怎么实现
我这样的话一直报 空指针错误

解决方案 »

  1.   

    select * from table where aa = nvl(传入的参数,aa)
      

  2.   

    在java中拼好了,在交给db吧。
    StringBuffer sql = "SELECT 

    FROM 
    tabel ";if(!aa.equals("")||!aa == null)
    sql.append(" where aa = '"+aa+"'");
      

  3.   

    我也想灵活,做外包的,对方要求这样做,也就是传参数到SQL里面判断
      

  4.   

    2楼对的。
    pl/sql: aa = nvl(param_a, aa)
    t-sql: aa = isnull(param_a, aa)
      

  5.   


    楼主,可以使用这个!select 
     * 
    from table
    where 
      case 
        when isNull(table.aa) then  table.aa = ‘aa’ 
        else 1=1
     end合理使用 1 = 1祝楼主成功