Split comma delimited string CONNECT BY Clause

Hello
I had a problem by dividing a strings separated by commas into lines.

I explain the following use cases:

I have an x in table
-> create table x (id number, int_status varchar2 (100), c_ref varchar2 (30), s_ref varchar2 (30));

I inserted values in the table:

insert into x (id, int_status, c_ref, s_ref) values (1, 'a1, a2, a3, a4 ', 'A',' AS');
insert into x (id, int_status, c_ref, s_ref) values (1,'b1, b2, b3, b4 ',' B', 'BS');
insert into x (id, int_status, c_ref, s_ref) values (1,'c1, c2, c3, c4 ", 'C', null);
insert into x (id, int_status, cust_ref, site_ref) values (1, NULL, would be ', NULL);


I need to split the int_status separated by commas into individual lines. This means that my result is:

. What I need or are looking as expected result:
-----------
1, has, HAVE, a1
1, has, HAVE, a2
1, has, HAVE, a3
1, has, HAVE, a4
1, B, BS, b1
1, B, BS, b2
1, B, BS, b3
1, B, BS, b4
C, 1, null, c1
C, 1, null, c2
C, 1, null, c3
C, 1, null, c4

I currently have a solution using Regex. But this solution uses the UNIQUE keyword.

The solution that I currently have:

Select UNIQUE c_ref, s_ref, regexp_substr (int_status, "[^,] +', 1, level") error_code
x
connect regexp_substr (int_status, "[^,] +', 1, level") is not null;


I need a better solution. Pointers?

Thank you
Cherif

Hi Omar,.

I mentioned the solution of Odie for similar problem some time ago...
and in my opinion the easiest to solve your task would be:

SELECT id,c_ref,s_ref,str error_code
  FROM x_imp,
       XMLTABLE ('ora:tokenize($v, ",")'
                 PASSING int_status AS "v"
                 COLUMNS str VARCHAR2 (12) PATH '.');

output:

ID     C_REF     S_REF     ERROR_CODE
1     A     AS     a1
1     A     AS     a2
1     A     AS     a3
1     A     AS     a4
1     B     BS     b1
1     B     BS     b2
1     B     BS     b3
1     B     BS     b4
1     C          c1
1     C          c2
1     C          c3
1     C          c4

See you soon,.
Manik.

Tags: Database

Similar Questions

  • Retrieving values from comma delimited string from PL/SQL procedure

    Gurus,

    I would spend that time but I'm crunched for time. I have a value of varchar2 parameter delimited by commas that will take X number of delimited values.

    Can you guys recommend a simple method to extract these values so that I can use this in explicit cursor?

    I give points to useful and correct responses.


    Thanks again,
    Scott


    BTW, I use Oracle 10 g and 11i applications

    Published by: sreese on January 31, 2012 15:37

    Hello

    Check out these pages:
    http://www.Oracle-base.com/articles/Misc/DynamicInLists.php
    http://tkyte.blogspot.com/2006/06/varying-in-lists.html

  • ORA-01436: CONNECT loop in the user data when the delimited string splitting by the

    I'm trying to split a string into records. The values are three characters more '-' with a limit of 12 values. The values themselves are a combination of two data, the first being two characters, a.

    The following example translates: ORA-01436: CONNECT BY a loop in the user data

    WITH
        Data(Code, Datum)
    AS
        (
         SELECT 'VGCU3VM', '00V-YYG-BVC-PIU-DV3-EVV-TVM-' FROM Dual UNION ALL
         SELECT 'VGAU3VM', '00V-YYG-BVA-PIU-DV3-EVV-TVM-' FROM Dual UNION ALL
         SELECT 'VGLN3CM', '00V-YYG-BVL-PIN-DV3-EVC-TVM-' FROM Dual UNION ALL
         SELECT 'VGLT3PM', '00V-YYG-BVL-PIT-DV3-EVP-TVM-' FROM Dual UNION ALL
         SELECT 'VGAT3RA', '00V-YYG-BVA-PIT-DV3-EVR-TVA-' FROM Dual
        )
    SELECT
        Datum,
        LEVEL,
        SUBSTR(Datum, ((LEVEL - 1) * 4) + 1, 2),
        SUBSTR(Datum, ((LEVEL - 1) * 4) + 3, 1)
    FROM
        Data
    CONNECT BY
        Code    = PRIOR Code
        AND    LEVEL    <= LENGTH(Datum) / 4;
    
    

    Remove the 'Code = Code PREREQUISITE"clause, to avoid the error, but too many records are returned, because nothing is to limit the records in their own groups.

    The following works:

    WITH
        Data(Code, Datum)
    AS
        (
         SELECT 'VGCU3VM', '00V-YYG-BVC-PIU-DV3-EVV-TVM-' FROM Dual UNION ALL
         SELECT 'VGAU3VM', '00V-YYG-BVA-PIU-DV3-EVV-TVM-' FROM Dual UNION ALL
         SELECT 'VGLN3CM', '00V-YYG-BVL-PIN-DV3-EVC-TVM-' FROM Dual UNION ALL
         SELECT 'VGLT3PM', '00V-YYG-BVL-PIT-DV3-EVP-TVM-' FROM Dual UNION ALL
         SELECT 'VGAT3RA', '00V-YYG-BVA-PIT-DV3-EVR-TVA-' FROM Dual
        )
    SELECT
        Datum,
        SUBSTR(Datum, ((Some.Num - 1) * 4) + 1, 2) A,
        SUBSTR(Datum, ((Some.Num - 1) * 4) + 3, 1) B
    FROM
        Data,
        (SELECT LEVEL Num FROM Dual CONNECT BY LEVEL <= 12) Some
    WHERE
        SUBSTR(Datum, ((Some.Num - 1) * 4) + 1, 2) IS NOT NULL;
    
    

    What causes ORA-01436?

    Hello

    Depending on your version, you can add another condition to your CONNECT BY clause.

    It works in Oracle 11.2.0.3.0:

    SELECT

    Point of reference,

    LEVEL,

    SUBSTR (Datum, ((LEVEL-1) * 4) + 1, 2),

    SUBSTR (Datum, ((LEVEL-1) * 4) + 3, 1)

    Of

    Data

    CONNECT

    Code = Code PRIOR

    AND LEVEL<= length(datum)="">

    AND PRIOR SYS_GUID () IS NOT NULL-* ADDED *.

    ;

    Thanks for the display of the data of the sample; This is really useful!

    In addition, relational databases are designed to have 1 piece of information in each column of each row, not a list delimited by up to 12 points.  It is so basic to the design of database he called the first normal form.  You're going to solve a lot of problems even before they occur if you paste to first normal form and change the table structure to resemble the result set of this query.  (Maybe that's exactly why you're doing this query.)

  • Using .split on an import script with a comma delimited data file

    Hi everyone-

    Any attempt to create a script to import amount field to remove the apostrophes (') of a description field to account in a .csv data import file (any folder with an apostrophe will be rejected during the import phase).  Now if it was a file delimited by semicolons (or other separators and more by commas), I could remove all the apostrophes recording with a string.replace command, then return the amount with a command of string.split.  Unfortunately, there is a problem with this solution when using comma delimiters. My data file is comma-delimited .csv file with several amount fields that have commas in them.   Even if the fields are surrounded in quotes, the .split ignores the quotes and treats the commas in fields amount as delimiters.  Therefore, the script does not return the correct amount field.

    Here is an example of a record of reference data:

    "", "0300-100000", "description of the account with an apostrophe ' ', '$1 000.00",' $1 000.00 "," $1 000.00 ","$1 000.00"," $1 000,00 "" "

    My goal is to remove the apostrophes from field 3 and return the amount in field 8.

    Some things to note:

    • If possible, I would like to keep this as an import script for amounted to simplify administration - but am willing to undertake the event script BefImport if this is the only option or more frank than the import script-based solution.
    • I tried using regular expressions, as seems to be conceptually the simplest option to respect the quotes as escape character, but think that I am not implementing properly and impossible to find examples of regex for FDMEE.
    • I know that we cannot use the jython csv on import the script by Francisco blog post - fishing with FDMEE: import scripts do not use the same version of Jython as event/Custom scripts (PSU510). This may be a factor to go with a script of the event instead.
    • It's probably a little more engineering solution, but I have considered trying to write a script to determine where to start all the quotes and the end.  Assuming that there are no quotation marks on the inside of my description of account (or I could remove them before that), I could then use the positioning of the quotes to remove commas inside those positions - leaving the commas for the delimiters as is.  I could then use the .split as the description/amount fields have no commas.  I think it may be better to create a script of the event rather than down this solution from the point of view to keep administration as simple as possible
    • Yes, we could do a search and replace in the excel file to remove the apostrophes before import, but it's no fun

    Thanks for any advice or input!

    Dan

    Hi Dan,.

    If your line is delimited by comma and quote qualified, you can consider the delimiter as QuoteCommaQuote or ', ' because it comes between each field.  Think about it like that, then simply divided by this value:

    split("\",\"")

    Here's something I put together in Eclipse:

    '''

    Created on Aug 26, 2014

    @author: robb salzmann

    '''

    import re

    strRecord = "\"\",\"0300-100000\",\"Account description with an apostrophe ' \",\"$1,000.00\",\"$1,000.00\",\"$1,000.00\",\"$1,001.00\",\"$1,002.00\""

    strFields = strRecord.split("\",\"")

    strDescriptionWithoutApos =  strFields[2].replace("'", "")   'remove the apostrophe

    strAmountInLastCol = strFields[-1:].replace("\"", "")        'You'll need to strip off the last quote from the last field

    print strDescriptionWithoutApos

    print strAmountInLastCol

    Account with an apostrophe description

    ' $1 002,00

  • regular expressions for numbers demical in a comma-delimited list


    I have a table that lists the details of the occupation of the sites of a comma-delimited list:

    create table tenure_test)
    number of site_number
    tenure_detail varchar2 (255));

    insert into tenure_test values (1, ' Crown (Other) (0.15 ha), private (555.25 ha)');
    insert into tenure_test values (2, ' private (5.76 ha)');
    insert into tenure_test values (3, ' private (0.18 ha, Crown (3.25 hectares), Indeterminate (Leased) (5.85 ha)');)

    What I want to do is to use a regular expression to calculate the sum only numbers in the tenure_detail column.

    For example, for site_number 1, it would be 0.15 + 555.25 = 555,4

    I also have another regular expression that has just the numbers in a comma-delimited list.

    For site_number 1: 0.15, 555.25

    I tried this:

    Select site_number, tenure_detail, regexp_substr (tenure_detail, "[0-9] + \.") ([0-9] {2}') under the name test1

    of tenure_test;

    but it lists only the first number.

    Hello

    996454 wrote:

    I have a table that lists the details of the occupation of the sites of a comma-delimited list:

    create table tenure_test)
    number of site_number
    tenure_detail varchar2 (255));

    insert into tenure_test values (1, ' Crown (Other) (0.15 ha), private (555.25 ha)');
    insert into tenure_test values (2, ' private (5.76 ha)');
    insert into tenure_test values (3, ' private (0.18 ha, Crown (3.25 hectares), Indeterminate (Leased) (5.85 ha)');)

    What I want to do is to use a regular expression to calculate the sum only numbers in the tenure_detail column.

    For example, for site_number 1, it would be 0.15 + 555.25 = 555,4

    I also have another regular expression that has just the numbers in a comma-delimited list.

    For site_number 1: 0.15, 555.25

    I tried this:

    Select site_number, tenure_detail, regexp_substr (tenure_detail, "[0-9] + \.") ([0-9] {2}') under the name test1

    of tenure_test;

    but it lists only the first number.

    Here's one way:

    SELECT site_number

    SUM (TO_NUMBER (REGEXP_SUBSTR (tenure_detail

    , "\d+\.\d*" - see Note 1

    ) T

    LEVEL

    )

    )

    ), Total

    OF tenure_test

    CONNECT BY LEVEL<= regexp_count="" (="">

    , '\d+\.\d*'

    )

    AND PRIOR site_number = site_number

    AND PRIOR SYS_GUID () IS NOT NULL

    GROUP BY site_number

    ;

    Output:

    TOTAL OF SITE_NUMBER

    ----------- ----------

    1 555,4

    2 5.76

    3 9.28

    Note 1: what exactly makes a 'number '?  I'm assuming it's 1 or more digits, followed by a comma, followed by 0 or more numbers.  You can have a slightly different definition; in this case, change the arguments 2nd REGEXP_SUBSTR and REGEXP_COUNT.

    I guess also that site_number is unique.  If not, you will have to change the CONNECT BY and GROUP BY clauses, to refer to something (or a combination of things) which is unique.

    Relational databases are designed for each column of each row contain 1 single piece of information, not a list delimited with a variable number of elements.  It is so basic to the design of database he called the first normal form.  If your first followed table form normal, this query (and many other queries that involve that table) would be much simpler to write, more efficient to run and less likely to have bugs.  See if you can normalize this table.  Any effort that you have to spend now to normalize the table will pay very quickly.

    Thanks for posting the CREATE TABLE and INSERT statements; It is very useful.

    Don't forget to tell what version of Oracle you are using.  I tried the query in Oracle 11.2 above.  You may need to CONNECT BY a little differently in earlier versions, and REGEXP_COUNT will not work in Oracle 10.

  • Combine several values of rank in a line like comma delimeted string

    Hello

    I have a requirement to combine several values of rank in a line as the comma delimeted string as below

    INDEX_NAME COLUMN_NAME POSITION_COLONNE
    EMP_EMAIL_UK EMAIL 1
    EMP_EMP_ID_PK EMPLOYE_ID 1
    EMP_DEPARTMENT_IX DEPARTMENT_ID 1
    JOB_ID EMP_JOB_IX 1
    EMP_MANAGER_IX MANAGER_ID 1
    EMP_NAME_IX LAST_NAME 1
    EMP_NAME_IX FIRST_NAME 2
    I write in a SQL and the output I need is, for example EMP_NAME_IX LAST_NAME, FIRST_NAME.

    I can't write any function as well.

    http://www.Oracle-base.com/articles/Misc/StringAggregationTechniques.php

    SELECT index_name,
           ltrim(sys_Connect_by_path(column_name, ','), ',') column_names
      FROM (select index_name,
                   column_name,
                   row_number() over(partition by index_name order by column_position) rn
              from all_ind_columns
             WHERE table_owner = 'HR')
     WHERE connect_by_isleaf = 1
     START WITH rn = 1
    CONNECT BY PRIOR rn = rn - 1
           and prior index_name = index_name
    
  • split comma-delineated in table 1 d complex

    I have delimited string in this format

    [0.866405665874481,0.127425819635391,0.983153462409973,-0.0711551383137703,0.955700755119324,-0.27884304523468,0.787182509899139,-0.501964211463928,0.512355387210846,-0.687117278575897,0.177220240235329,-0.777789652347565,-0.0876994803547859,-0.792799115180969,-0.324512422084808,-0.736825287342072,-0.517065346240997,-0.627932071685791,-0.666604995727539,-0.471743047237396,-0.767350137233734,-0.287838608026505,-0.819185018539429,-0.0853987112641335,-0.81872695684433,0.123056441545486,-0.761552691459656]

    The data contain pairs of complex numbers.  The first 2 numbers is a pair, a pair of next 2 numbers, next pair...

    How can I extract the number pairs and make a complex set of 1 d?

    This is the expected output:

    (0.866405665874481,0.127425819635391),(0.983153462409973,-0.0711551383137703),(0.955700755119324,-0.27884304523468),(0.787182509899139,-0.501964211463928),(0.512355387210846,-0.687117278575897),(0.177220240235329,-0.777789652347565),(-0.0876994803547859,-0.792799115180969),(-0.324512422084808,-0.736825287342072),(-0.517065346240997,-0.627932071685791),(-0.666604995727539,-0.471743047237396),(-0.767350137233734,-0.287838608026505),(-0.819185018539429,-0.0853987112641335),(-0.81872695684433),(0.123056441545486,-0.761552691459656)

    All gurus pls advise

    I used the string of worksheet to the table, table to decimate, then Re / Im at the complex.

  • comma-separated string

    I have a string that comes an external instrument. When it is read, he appears in a format like this:

    "10,55.

    11.25

    13.43

    15.68 "

    The number of entries varies. I need to get this string in a comma-separated string that is later concatenated with another string and written to a csv file.

    So how do the entry above into this: ' 10,55, 11.25, 13.43 15.68?

    Thank you

    There are a lot of ways. I use find and replace. See attachemt for an example.

  • Adding zero in comma separated string

    Hi all

    Currently I am working on Oracle 11 g

    I have the string as 1,12,123,1234 and my requirement is to fill the zero on every comma separated string

    My output result should be like this 0001,0012,0123,1234, what exactly does lpad('12',4,'0').

    Kindly help a query above.

    A simple trick I learned for a long time back here

    SQL> with t
      2  as
      3  (
      4  select '1,12,123,1234' str from dual
      5  )
      6  select regexp_replace(regexp_replace(str, '([[:digit:]]+)', '0000\1'), '0+([[:digit:]]{4})', '\1') str
      7    from t;
    
    STR
    -------------------
    0001,0012,0123,1234
    
    SQL>
    
  • Find and replace the delimited string value by the

    Hi all

    I have a requirement where I need to find and replace the delimited string values.

    For example, the string is "GL ~ 1001 ~ 157747 ~FEB-13~ CREDIT ~ A ~ N ~ US ~ NULL ~". The 4th column gives the month and year. I need to replace it with the name of the previous month. For example: "GL ~ 1001 ~ 157747 ~JAN-13~ CREDIT ~ A ~ N ~ US ~ NULL ~". I need to do the same thing for the past 12 months.

    I thought initially divide the values and store it in a variable and then after him substituting the value required, join the return.

    I just wanted to know if there is a better way to do it?

    Like this:

    with a model like

    (select "GL ~ 1001 ~ 157747 ~ FEB-13 ~ CREDIT ~ A ~ N ~ $ ~ NULL ~' double UNION ALL data")

    Select ' GL ~ 1001 ~ 157747 ~ JAN-13 ~ CREDIT ~ A ~ N ~ US ~ NULL ~' double data)

    Select

    REPLACE (DATA, TO_CHAR (to_date (substr (data, 16.6), "MON-RRRR"), 'MON - RR'), TO_CHAR (to_date (substr (data, 16.6), "MON-RRRR")-1, 'MON - RR'))

    modeling;

    GL ~ 1001 ~ 157747 ~ JAN-13 ~ CREDITS ~ HAS ~ N ~ US ~ NOTHING ~

    GL ~ 1001 ~ 157747 ~ DEC-12 ~ CREDITS ~ HAS ~ N ~ US ~ NOTHING ~

    Ishan

  • without the use of order by and connect by clause

    Hi all

    can I write a tree query without using a start with clause and connect by clause
    and
    can I order the names used in a select query without using the order by clause

    those things are possible in the select...

    dipuna wrote:
    Hi all

    can I write a tree query without using a start with clause and connect by clause

    I think that no.

    can I order the names used in a select query without using the order by clause

    No.Why you do not want to use order by clause?

  • How to display a set of results in a comma-delimited list?

    I have a query that selects an attribute in a table:
    Select the role of sport_roles

    What is the best way to display the result set as a "comma-delimited list" and "display as text"?
    for example, player, coach, referee

    Thank you.

    I think you mean comma-DELIMITED.

    The easiest way is dependent on the version. And yours is?

    In 11.1.0.6 and especially I prefer to use WM_CONCAT.
    http://www.morganslibrary.org/reference/wm_functions.html

    Tom Kyte, to asktom, provided a named function, STRAGG.

    A version number will be essential in all cases.

  • Is it possible to convert an array of values in a comma-delimited-list?

    Hello
    I want to transform the following dataset:

    Parent | Child
    ----------------------
    Charles | William
    Charles | Harry
    Anne | Peter
    Anne | Zara
    Andrew | Beatrice
    Andrew | Eugénie

    in this:

    Parent | Children
    -----------------------------
    Charles | Diana, Camilla
    Anne | Peter, Zara
    Andrew | Beatrice, Eugenie

    In other words, I would like to make a list of values from some of the major and produce them as a comma-delimited list.

    I know that his is possible in T - SQL, even if the method is a bit of a nasty hack. Is this possible in PL - SQL?

    Thaks in advance
    Jamie
    SQL>  with t  as(
     select 'Charles' parent, 'William' child from dual union
     select 'Charles', 'Harry' from dual union
     select 'Anne', 'Peter' from dual union
     select 'Anne', 'Zara' from dual union
     select 'Andrew', 'Beatrice' from dual union
     select 'Andrew', 'Eugenie' from dual
    )
    --
    --
    select parent, rtrim(xmlagg(xmlelement(e,child || ',')).extract('//text()'),',') childs from t
    group by parent
    /
    PARENT     CHILDS
    ---------- --------------------
    Andrew     Beatrice,Eugenie
    Anne       Peter,Zara
    Charles    Harry,William       
    
    3 rows selected.
    

    Don't know how Diana & Camilla suddenly jumped in many... ;)

  • How to split string separated by commas and pass to the clause of the select statement

    Referring to article How to divide string separated by commas, then pass to clause of a select statement, tquery that there the following plan:

    Query1:

    select * from emp where ename in (
        select regexp_substr('SMITH,ALLEN,WARD,JONES','[^,]+', 1, level) from dual
        connect by regexp_substr('SMITH,ALLEN,WARD,JONES', '[^,]+', 1, level) is not null );
    

    Base1:

    Plan hash value: 4242290184
    
    
    --------------------------------------------------------------------------------------------
    | Id  | Operation                       | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                |          |     1 |   133 |     7  (29)| 00:00:01 |
    |*  1 |  HASH JOIN                      |          |     1 |   133 |     7  (29)| 00:00:01 |
    |   2 |   VIEW                          | VW_NSO_1 |     1 |    46 |     3  (34)| 00:00:01 |
    |   3 |    HASH UNIQUE                  |          |     1 |       |     3  (34)| 00:00:01 |
    |*  4 |     CONNECT BY WITHOUT FILTERING|          |       |       |            |          |
    |   5 |      FAST DUAL                  |          |     1 |       |     2   (0)| 00:00:01 |
    |   6 |   TABLE ACCESS FULL             | EMP      |    14 |  1218 |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------
    
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
    
       1 - access("ENAME"="$nso_col_1")
       4 - filter( REGEXP_SUBSTR ('SMITH,ALLEN,WARD,JONES','[^,]+',1,LEVEL) IS NOT NULL)
    

    However, the following query generates the plan I want:

    Query2:

    select * from emp where ename in ('SMITH','ALLEN','WARD','JONES');
    

    Plan2:

    Plan hash value: 3956160932
    
    
    --------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |     4 |   348 |     3   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| EMP  |     4 |   348 |     3   (0)| 00:00:01 |
    --------------------------------------------------------------------------
    
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
    
       1 - filter("ENAME"='ALLEN' OR "ENAME"='JONES' OR "ENAME"='SMITH' OR
                  "ENAME"='WARD')
    

    Can I change the query1 query for plan2?

    As Juliet was mentioned in the first SQL that you generate from the ENAME list that you must pass in the IN clause when executing. But in the second SQL, it passed as a static value. So first SQL must do more work. So you see a different execution plan.

    But this is a work around to get what you are looking for. But I can't say it's a foolproof method. But anyway here you go.

    SQL > var ename_list varchar2 (100)
    SQL > exec: ename_list: = 'SMITH, ALLEN, WARD, JONES ';

    PL/SQL procedure successfully completed.

    SQL > select *.
    2 of PEM
    where the 3 «,» | : ename_list | ',' like '%', | Ename | ',%';

    EMPNO, ENAME, JOB HIREDATE DEPTNO ID COM SAL MGR
    ---------- ------ --------- ---------- --------- ---------- ---------- ---------- ----------
    7369 SMITH COMMITTED 7902 2975 2 APRIL 81 0 20
    7499 ALLEN 7698 1600 20 FEBRUARY SALESMAN 81 300 30
    7521 WARD 7698 1250 22 FEBRUARY SALESMAN 81 500 30
    7566 JONES MANAGER 7839 2975 2 APRIL 81 0 20

    SQL > select * from table (dbms_xplan.display_cursor);

    PLAN_TABLE_OUTPUT
    -------------------------------------------------------------------------------------------------------
    SQL_ID, 848zhvbvgf7d6, number of children 0
    -------------------------------------
    Select * from emp where «,» | : ename_list | ',' like '%', | Ename
    || ',%'

    Hash value of plan: 2872589290

    --------------------------------------------------------------------------
    | ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT |      |       |       |     2 (100) |          |
    |*  1 |  TABLE ACCESS FULL | EMP |     1.    38.     2 (0) | 00:00:01 |
    --------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):
    ---------------------------------------------------

    1 - filter(','||:ENAME_LIST||',' LIKE '%,'||") ENAME "|", %')

    19 selected lines.

    SQL >

  • How to parse a comma delimited by the string in BPEL 11.1.1.4

    I have the MyTag element in xml. I get value for MyTag as Eng, [email protected] (separated by commas) in the BPEL workflow.

    I need to parse this string separated by commas in BPEL and extract

    Eng AND [email protected]


    How can I do this in BPEL? What is the process?

    Hello

    If you get the value like Eng, [email protected] and say that tempVariable Eng, [email protected] data. So, here you go...

    substring-after (bpws:getVariableData('tempVariable'), ','), use it in the Expression Builder on the side of the copy operation and that assign to the variable (variable database entry). This will give you [email protected]

    substring-before (bpws:getVariableData('tempVariable'), ','), use it in the Expression Builder on the side of the copy operation and that assign to the variable (variable database entry). This will give you in English

    I hope this helps...

    Thank you
    N

Maybe you are looking for

  • Can not make entries in Roboform Lite 2.1?

    I have loaded and reloaded RFL (and have disabled KeeFox), but I'm still not able to make all entries. For example, when clicking on the icon of the identity, the ToolTip indicates I should 'set an active identity', but there is no drop-down list in

  • Closed the scenario or not

    After a few years that I use FCPX, even now I do not understand the reason why sometimes some clips are locked up in a storyline of 'farm' like this and sometimes not (However, in the following example there are transitions and other complex sequence

  • How to recover the "administrator password" on laptop Vista Home Premium?

    Hello, someone knows how to recover the "Administrator password" window? I have a Vista Home Premium laptop. I will appreciate any suggestion. Thank you very much.

  • The selective migration of unity - is it possible?

    Hello everyone! Here's my situation... I have an ICS7750 with a SPE310 blade unit running 4.0.1. It is associated with an Exchange 2000 Server in the domain "A". I need migrating all of my users in the field 'A' to 'B' which is running Windows 2003 a

  • Cannot change the default IP address after the upgrade to 4.1

    We just migrated a client 4235 ID version 3.x to 1.0000 S47 using the Ugrade/Recovery CD 4.1 We try to apply the basic configuration as change the host name & IP address using the command CLI "SETUP." Whenever we apply the changes by selecting the ap