Extraction of the data from a string

Hi all

I'm using Oracle 11.2.0.1.0

CREATE TABLE BENEFIT(
  BENVAL       VARCHAR2(255 BYTE))

  insert into BENEFIT values ('Included - 365 days/50%/50%   ');
    insert into BENEFIT values ('Included - 120 days/50%/50%   ');
        insert into BENEFIT values ('Included - 365 days/75%/50%  ');

I would like the following output.

BENVAL Days FIRSTPER SECONDPER
Included - 365 days/50%/50%3655050
Included - 120 days/50%/50%1205050
Included - 365 days/75%/50%3657550

The days column must be set in the chain before days, the firstper column must be set between Prime ' / ' and the second ' / ', the secondper must be set after the last ' / '.

Currently, I created a table to store the distinct values in a table and by referencing tables in my select query. Instead, I wanted to know if I can create a SQL statement.

Thanks in advance.

Hello

Perhaps the easiest way is:

SELECT benval

, REGEXP_SUBSTR (benval, '\d+', 1, 1) AS days - or TO_NUMBER (REGEXP_SUBSTR...

, REGEXP_SUBSTR (benval, '\d+', 1, 2) AS firstper - or TO_NUMBER (REGEXP_SUBSTR...

, REGEXP_SUBSTR (benval, '\d+', 1, 3) AS secondper - or TO_NUMBER (REGEXP_SUBSTR...

BENEFITS

;

Guess what

  1. all 3 numbers are present,
  2. the days always appear first (as they do in the sample data),
  3. If there are other numbers in the chain, these additional staff come after percentages, and
  4. 3 numbers you want are unsigned integers.

If any of these assumptions are false, then you can always use REGEXP_REPLACE, but things get a little more complicated.

REGEXP_SUBSTR returns a VARCHAR2.  If you want a NUMBER, call the string passed by REGEXP_SUBSTR TO_NUMBER.

Tags: Database

Similar Questions

  • Extract the data from the ReadyNAS Duo 3 to disk?

    Hello

    I have a ReadyNAS Duo chassis crashed with two drives of 3 TB in it. Both discs seem to work very well.

    How can I do to retrieve the data from disks of theses? they were in a RAID 1 configuration, so I guess I just need to extract one of the disks. Does it matter which drive is it?

    I started to connect one of the disks to an installation of Ubuntu and I can find from the disc with respect to the available partitions, but I get no info on the file system used, only that it is flagged as RAID.

    Because I don't want ot destroy all the data I was very careful when working with the partitioning tool. So far, I've installed and looked parted, gparted, gdisk and a few others.

    Since I'm really new to Linux, I need more detailed assistance with indicators to be used to access the drive.

    Any input is highly appreciated.

    Christoffer

    Look at this: http://kb.netgear.com/app/answers/detail/a_id/29961?utm_source=community&utm_medium=announcement&utm...

  • How to insert into a GLOBAL TEMPORARY TABLE and get the data from it?

    The requrement is
    Split the string ENTRY point on the base and store it in a Collection. And the values of the collection will be stored in a global temporary table. Then, I'm updating some other table based on the data from the temporary table.

    There is in fact no error message. But there is no data in the temporary table and also no change in the update statement

    First of all, I'm creatiing a global temporary table only once outside the procedure.

    CREATE GLOBAL TEMPORARY table GLt (data_element number)


    create or replace procedure test_proc (p_in_string VARCHAR2) is
    i the number: = 0;
    number of POS: = 0;
    CLOB lv_str: = p_in_string;
    p_delim VARCHAR2 (1): = ', ';

    TYPE t_array IS TABLE OF VARCHAR2 (20) INDEX directory.
    t_array channels;

    BEGIN

    -cutting of string input and store in the strings (i) collection

    POS: = instr (lv_str, p_delim, 1, 1);
    WHILE (pos! = 0) LOOP
    i: = i + 1;
    Strings (i): = substr(lv_str,1,pos-1);
    lv_str: = substr (lv_str, pos + 1, length (lv_str));
    POS: = instr (lv_str, p_delim, 1, 1);
    IF pos = 0 THEN
    Strings (i + 1): = lv_str;
    END IF;
    END LOOP;

    run immediately "drop table TWG;
    run immediately ' CREATE GLOBAL TEMPORARY table (data_element number) TWG on commit preserve rows ";

    FORALL i in strings.first... Strings.Last
    INSERT INTO VALUES TWG (strings (i));
    commit;

    Update first_tbl set PIN is "XXX" where first_col in (select data_element from TWG);.
    commit;

    END test_proc;

    Published by: cedric b on January 25, 2013 12:59

    Remove the two execute immediate line. They are wrong.

    And then use the table in your code that you created at the beginning. The name is GLT.
    And delete the first commit. This validation would empty the temporary table of GLT.

    You get an error? Or it does not work as expected?

    Also, show how you call the procedure.

    Published by: Sven w. January 25, 2013 14:45

  • My browser is running do not. I uninstall, install several times. Uninstall cookies, delete the data from the user, install in another user - no reaction. What's wrong? Help, please

    My browser is running do not. I uninstall, install several times. Uninstall cookies, delete the data from the user, install in another user - no reaction. What's wrong? Help, please

    Start Firefox in Safe Mode {web link} by holding down the < shift >
    (Mac options)
    key and then from Firefox. Is always the problem?

    Start your computer in safe mode with network. Then launch Firefox.
    Try the sites secure web. Is always the problem?

    Start the computer in Mode safe;
    Free online encyclopedia

  • I bought an iPhone 6s and want to transfer the data from my old iPhone 4S with iTunes

    I bought an iPhone 6s and want to transfer the data from my old iPhone 4S with iTunes but it says "the"iPhone"iPhone cannot be used because it requires a newer version of iTunes. Go to www.itunes.com to download the latest version of iTunes. "

    I checked and the version of itunes is the latest AID!

    DooozySue wrote:

    I checked and the version of itunes is the latest AID!

    Most likely, what you found, is that the iTunes version is the latest available for your operating system.

    The latest version of iTunes is 12.4.3.  This version requires at least OS X 10.8.5 or later version, or Windows 7 or later version.

    If your iTunes version is earlier than 12.4.3, it will probably not recognize your 6s performance iPhone iOS 9.

    If you do not have the required operating system, get first.  Then download from iTunes

    http://www.Apple.com/iTunes/download

  • Unable to delete the data from the Safari Web site...

    Hello.

    I need help with my Safari browser on my Mac.

    Im trying to remove all Web site data with the following procedure:

    Safari-> Preferences-> privacy-> Remove All Data Web site...

    His does not work. Before clicking on the button I have 108 Web sites stored cookies or other data, I click the button, and nothing happens... I'm still 108 cookies.

    I also did the following:

    . - activate the Menu developer and Cache empty and tried again... nothing

    . - used CleanMyMac v3 and it says I don't have cookies.

    . - order iCloud Sync of Safari on the computer and try again... same problem

    . - removed manually com.apple. Safari. Secure

    Any help will be great. Please let me know if you need any additional info.

    Thank you.

    Hello DZanvettor,

    Thank you for using communities of Apple Support.

    If I understand your message that nothing happens when you try to remove the Safari Web site data. I know how it is important for you to be able to remove the Safari Web site data. I recommend that you restart your Mac into safe mode and see if you can remove the data from the Web site in secure mode.

    Here are the steps to restart your Mac in safe mode:

    Safe mode (sometimes called secure boot) is a way to start up your Mac so that it performs certain checks and prevents certain software from loading automatically or opening.

    From your Mac in safe mode does the following:

    * Check your startup disk and attempts to fix problems if necessary directory
    * Loads only required kernel extensions
    * Prevents the elements start and the login items open automatically
    * Disables installed user fonts
    * Delete font caches, hiding the kernel and other files of the system cache
    * Together, these changes can help resolve or isolate issues related to your startup disk.

    Follow these steps to start in safe mode.

    1. start or restart your Mac.
    2. as soon as you hear the startup tone, hold down the SHIFT key.
    3. release the SHIFT key when you see the Apple logo appears on the screen.

    After you delete data from the Web site in safe mode restart your Mac and allow it to start up as usual. Then test the issue again.

    Best regards.

  • Hi I want to erase all the data from my current phone if I erase content and settings would be deleted all the data off my sim card? Thanks for your help

    Hi I want to erase all the data from my current phone if I erase content and settings would be deleted all the data off my sim card? Thanks for your help

    Erase the data on your phone will not erase the data on the sim card.

  • If I remove all the data from the Web site it will also remove all my passwords?

    If I remove all the data from the Web site it will also remove all my passwords?

    It will not erase your saved in the Keychain passwords, but you need to connect back to all Web sites (like this one) that require you to log in.

  • How to read the data from a channel named in windows using labview

    Hello

    I need to read the channel named in windows data. The pipe is created by python by another application. This application post permanent data on the pipe. But I don't know how to read data using labview. is it possible to read the data from different application? If possible, how to start?

    Thanks in advance

    concerning

    RJ

    Hi Rolf,.

    It's just, because of driving is not initialized completely, pipe read returns error 42, I added 2 seconds late, then its work perfect.

    Thank you very much.

    Concerning

    RJ

  • To access the data from database to a remote computer

    Hi all

    Can someone tell me how to access data from a database, sitting on another computer? I use the Sqlite database. It works fine in my computer. But I don't know hoe to put the database in another computer (server) and access the data from there. In my program, it is essential to do this for a simultaneous use for different users. Someone please help.

    Kind regards

    Cindy.

    I found the solution... http://ConnectionStrings.com/

  • PowerVault MD1000: Attached directly slow to copy the data from storage.

    Hi all

    I have a powervault MD1000 attached to a PE2900 using scsi. When I write for the PV everything is ok, but when I want to read it, for example copying the data from it, he grinds the server stops and usually falls!

    can someone advice could be what the problem?


  • I'm not allowed to transfer the data from the laptop on an external hard drive.

    Original title: operating system Windows 7, problems with Permissions

    I use the Windows 7 operating system. Recently my system I cannot transfer all the data from my laptop to any external hard drive. The Popup says that you don't have any administrative permissions... I am a single user and a newspaper with my Admin password but some how it continues to be. Help, please.

    You may need to take possession of the records on your external drive - see here:
    http://social.answers.Microsoft.com/forums/en-us/w7network/thread/24bdf172-2DBC-43b8-995d-a99b6a81413c/
    Alternatively, you can reformat the external hard drive.
  • How to join two tables to retrieve the data from the columns in table two. Tables have primary and foreign key relationships

    Hello

    I want to join the two tables to retrieve the data from the columns of the two table passing parameters to the join query. Tables have primary and foreign key relationships

    Details of the table

    Alert-1 - AlertCode (FK), AlerID (PK)

    2 AlertCode-AlertDefinition-(PK)

    Help, please


    ----------

    Hi Vincent,.

    I think that you have not worked on adf 12.1.3.  In adf 12.1.3 you don't have to explicitly create the association. When you create the EO to your table, Association xxxxFkAssoc, will be created by ADF12.1.3 for you automatically. Please try this and do not answer anything... You can also follow the links below. I solved the problem by using the following link

    Oracle ADF Guide step by step - Oracle ADF tutorial: creating a relationship of the master / detail using Oracle ADF

    ---

  • Generic procedure to load the data from the source to the table target

    Hi all

    I want to create a generic procedure to load data of X number of the source table to X number of the target table.

    such as:

    Source1-> Target1

    Source2-> Target2

    -> Target3 Source3

    Each target table has the same structure as the source table.

    The indexes are same as well. Constraint are not predefined in the source or target tables.there is no involved in loading the data from the business logic.

    It would simply add.

    This procedure will be scheduled during off hours and probably only once in a month.

    I created a procedure that does this, and not like:

    (1) make a contribution to the procedure as Source and target table.

    (2) find the index in the target table.

    (3) get the metadata of the target table indexes and pick up.

    (4) delete the index above.

    (5) load the data from the source to the target (Append).

    (6) Re-create the indexes on the target table by using the collection of meta data.

    (7) delete the records in the source table.

    sample proc as: (logging of errors is missing)

    CREATE or REPLACE PROCEDURE PP_LOAD_SOURCE_TARGET (p_source_table IN VARCHAR2,

    p_target_table IN VARCHAR2)

    IS

    V_varchar_tbl. ARRAY TYPE IS VARCHAR2 (32);

    l_varchar_tbl v_varchar_tbl;

    TYPE v_clob_tbl_ind IS TABLE OF VARCHAR2 (32767) INDEX OF PLS_INTEGER;

    l_clob_tbl_ind v_clob_tbl_ind;

    g_owner CONSTANT VARCHAR2 (10): = 'STG '.

    CONSTANT VARCHAR2 G_OBJECT (6): = 'INDEX ';

    BEGIN

    SELECT DISTINCT INDEX_NAME BULK COLLECT

    IN l_varchar_tbl

    OF ALL_INDEXES

    WHERE table_name = p_target_table

    AND the OWNER = g_owner;

    FOR k IN l_varchar_tbl. FIRST... l_varchar_tbl. LAST LOOP

    SELECT DBMS_METADATA. GET_DDL (g_object,

    l_varchar_tbl (k),

    g_owner)

    IN l_clob_tbl_ind (k)

    FROM DUAL;

    END LOOP;

    BECAUSE me IN l_varchar_tbl. FIRST... l_varchar_tbl. LAST LOOP

    RUN IMMEDIATELY "DROP INDEX ' |" l_varchar_tbl (i);

    DBMS_OUTPUT. PUT_LINE (' INDEXED DROPED AS :'|| l_varchar_tbl (i));

    END LOOP;

    RUN IMMEDIATELY ' INSERT / * + APPEND * / INTO ' | p_target_table |

    ' SELECT * FROM ' | '. p_source_table;

    COMMIT;

    FOR s IN l_clob_tbl_ind. FIRST... l_clob_tbl_ind LAST LOOP.

    EXECUTE IMMEDIATE l_clob_tbl_ind (s);

    END LOOP;

    RUN IMMEDIATELY 'TRUNCATE TABLE ' | p_source_table;

    END PP_LOAD_SOURCE_TARGET;

    I want to know:

    1 has anyone put up a similar solution if yes what kind of challenges have to face.

    2. it is a good approach.

    3. How can I minimize the failure of the data load.

    Why not just

    create table to check-in as

    Select "SOURCE1" source, targets "TARGET1", 'Y' union flag double all the

    Select "SOURCE2', 'TARGET2', 'Y' in all the double union

    Select "SOURCE3', 'Target3', 'Y' in all the double union

    Select "SOURCE4', 'TARGET4', 'Y' in all the double union

    Select 'Source.5', 'TARGET5', 'Y' in double

    SOURCE TARGET FLAG
    SOURCE1 TARGET1 THERE
    SOURCE2 TARGET2 THERE
    SOURCE3 TARGET3 THERE
    SOURCE4 TARGET4 THERE
    SOURCE.5 TARGET5 THERE

    declare

    the_command varchar2 (1000);

    Start

    for r in (select source, target of the archiving of the pavilion where = 'Y')

    loop

    the_command: = "insert / * + append * / into ' |" r.Target | ' Select * from ' | '. r.source;

    dbms_output.put_line (the_command);

    -execution immediate the_command;

    the_command: = 'truncate table ' | r.source | "drop storage."

    dbms_output.put_line (the_command);

    -execution immediate the_command;

    dbms_output.put_line(r.source ||) 'table transformed');

    end loop;

    end;

    Insert / * + append * / into select destination1 * source1

    truncate table SOURCE1 drop storage

    Treated SOURCE1 table

    Insert / * + append * / to select TARGET2 * in SOURCE2

    truncate table SOURCE2 drop storage

    Treated SOURCE2 table

    Insert / * + append * / into select target3 * of SOURCE3

    truncate table SOURCE3 drop storage

    Treated SOURCE3 table

    Insert / * + append * / into TARGET4 select * from SOURCE4

    truncate table SOURCE4 drop storage

    Table treated SOURCE4

    Insert / * + append * / into TARGET5 select * from source.5

    truncate table source.5 drop storage

    Treated source.5 table

    Concerning

    Etbin

  • I want to return the product to stop the renovation and to remove the data from credit card

    I want to return the product to stop the renovation and to remove the data from credit card

    To the link below, click on the still need help? option in the blue box below and choose the option to chat or by phone...
    Make sure that you are logged on the Adobe site, having cookies enabled, clearing your cookie cache.  If it fails to connect, try to use another browser.

    Creative cloud support (all creative cloud customer service problems)
    http://helpx.Adobe.com/x-productkb/global/service-CCM.html ( http://adobe.ly/19llvMN )

Maybe you are looking for