Subject Re: [firebird-support] Using LIKE/MATCHING? in stored procedure
Author Virna Constantin
SELECT PRODUCTIONLINENR FROM TBLPRODUCTIONLINE WHERE Position( :ESXPRODUCTIONLINE||';' IN Trim(ESXKEY)||';')>0 into :PRODUCTIONLINENR;



On Wednesday, August 5, 2015 2:36 PM, "Scott Morgan blumf@... [firebird-support]" <firebird-support@yahoogroups.com> wrote:


On 05/08/15 11:58, Tor Jørgen Brekka tor.jorgen@...
[firebird-support] wrote:
> Here is a part of it like it is today:
> -----------------------------------------------
> BEGIN
>      SELECT PRODUCTIONLINENR FROM TBLPRODUCTIONLINE WHERE ESXKEY = :ESXPRODUCTIONLINE into :PRODUCTIONLINENR;
>    END
> ----------------------------------------------
>
> If :ESXPRODUCTIONLINE = 'L1' and one record in field ESXKEY = 'L1' then this is no problem.
>
> But now I want to change the data in ESXKEY so it contains several "L values" in same record separated by semicolon, like this:
> Record 1, ESXKEY = 'L1;L2'
> Record 2, ESXKEY = 'L11;L12'
> Record 3....
>
> :ESXPRODUCTIONLINE will still have only one "L value" eg 'L1'
>
> How can I change my SELECT string to get result from record 1 only, if I use LIKE %ESXPRODUCTIONLINE% I will get match in both record 1 and 2 I believe.
>
> Hope someone can help me.