ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: SQL Map Problem - iterating through a list, using a like query
Date Tue, 06 Mar 2007 21:25:56 GMT
I don't believe the iterator works with string substitution, so you'll need
to use parameters instead (#accountList[]#).  Of course, this presents its
own unique set of problems.  It would be best to add the % characters in the
DAO.  Else, you'll have to do the concatentation in SQL.  You'll likely have
to cast the parameter also (I know for sure you'll have to do it with DB2).
Something like this...

UPPER(ACC_SHRT_NM) like UPPER('%' || cast(#accountList[]# as varchar(30)) ||
'%')



Jeff Butler


On 3/6/07, ayan.m.afridi@jpmchase.com <ayan.m.afridi@jpmchase.com> wrote:
>
>
> Hi,
> I am trying to do a select from a table, using dynamic sql like so:
>
> SELECT *
> FROM TABLE_NAME
> WHERE STATUS = 'A'
> <isNotEmpty prepend="AND" property="accountList">
>         <iterate open="(" close=")" conjunction="OR" property=
> "accountList">
>                 UPPER(ACC_SHRT_NM) like UPPER('%$accountList[]$%')
>         </iterate>
> </isNotEmpty>
> Basically I want this query to create a bunch of "like" clauses using the
> elements of the List accountList.
> For some reason this is not working - I get nothing returned.
>
> Is this syntax correct?
>
> -Ayan
>
> ------------------------------
>
>
>
> This transmission may contain information that is privileged,
> confidential, legally privileged, and/or exempt from disclosure
> under applicable law. If you are not the intended recipient, you
> are hereby notified that any disclosure, copying, distribution, or
> use of the information contained herein (including any reliance
> thereon) is STRICTLY PROHIBITED. Although this transmission and
> any attachments are believed to be free of any virus or other
> defect that might affect any computer system into which it is
> received and opened, it is the responsibility of the recipient to
> ensure that it is virus free and no responsibility is accepted by
> JPMorgan Chase & Co., its subsidiaries and affiliates, as
> applicable, for any loss or damage arising in any way from its use.
> If you received this transmission in error, please immediately
> contact the sender and destroy the material in its entirety,
> whether in electronic or hard copy format. Thank you.
>

Mime
View raw message