Native SQL ?

my user enters email id ( ex: *vam* ) on portal which is based on our webdynpro application,now the issue is when it passed to the select query as %vam% system unable to get the mail id ( VamsiKrishna) as it is case sensitive.

Solution1 : ( I Used this )

i pull all the mail id's( twice means i used same field twice in the select query ) from adr6 into internal table then convert one field to upper case , then using this table to find the user entered string.

Solution2 :

is to use the native SQL query to pull the case sensitive mail id .

in the Solution2 the mail id i am passing is not a key field in the adr6 table & also there are 5 mail id fields are there on the selection screen in portal so i need to hit the table 5 times or 1 time with all the 5 non key patterns ( *abc* , *bcd* .....).i have only around 12000 entries in the adr6 table in the production.

now my worry here is i need to select all the data from adr6 each time the component is reloading ( not closing & re opening the portal ). we are also using the assistance class but this is initializing on reload.