db2忽略where子句中的case

时间:2018-02-07 04:37:00

标签: java sql db2

通常我们按如下方式执行忽略案例:

select * from user where UPPER(username) = UPPER('maker1');

这是以任何方式在where子句条件下进行的吗?

我知道我们可以这样做:

select * from user where UPPER(username) in ( UPPER('maker1'), UPPER(maker2) );

但是如何在preparedStatement中做到这一点?

例如:

sb.append( "AND functionType IN (:functionType) " );
        map.put( "functionType",
                command.getListValues( command.getAllNonTradeFunctionsList( ) ) );
    query.setProperties( map );

1 个答案:

答案 0 :(得分:-2)

您在这里面临的问题是展示您的问题的简单示例

String query = 
                "SELECT agent.familyname, agent.givenname"
                + " FROM agent"
                + " WHERE agent.agentid = ?"
                + " AND (" 
                + " familyname ilike ? OR givenname ilike ?" 
                + ") " 
                + " ORDER by familyname";


        pst.setInt(1, piececreation.agentid);
        pst.setString(2, agent_lastname.toLowerCase());
        pst.setString(3, agent_name.toLowerCase());

让我知道是否需要任何其他帮助