list separated by commas - extraction of each element in an array?

Is there a quick way to make a field that contains a list of items separated by commas and put them in a table or perhaps separate variables?

for example.

a single line in the database contains the field [matches_with] and would generally contain the following elements:

rings, bracelets, necklaces

I need to be put in a variable

< cfset item1 = 'rings' >

< cfset item2 = 'bracelets' >

< cfset item3 = necklaces >

or if its more simple, put them in a table

agenda [1] = 'rings '.

point [2] = "bracelets".

point [3] = "necklaces."

There is a built-in ListToArray function to CF.

Tags: ColdFusion

Similar Questions

  • Problem using the list separated by commas with nested table element

    Hello

    I have a list separated by commas like this:
    H23004,H24005,T7231,T8231,T9231
    And want to create a function that creates a where clause clause for each element with an output like this:
    UPPER('H23004') IN (UPPER(charge))
    OR UPPER('H23005') IN (UPPER(charge))
    OR UPPER('T7231') IN (UPPER(charge))
    OR UPPER('T8231') IN (UPPER(charge))
    OR UPPER('T9231') IN (UPPER(charge))
    Here's my test function that is not working properly:
    create or replace function FNC_LIST_TO_WHERE_CLAUSE(v_list in VARCHAR2) return varchar2 is
     -- declaration of list type
     TYPE batch_type IS TABLE OF pr_stamm.charge%TYPE;
     -- variable for Batches
     v_batch batch_type := batch_type('''' || replace(v_list,',',''',''') || '''');
     return_script varchar2(1000);
    
     BEGIN
     -- loop as long as there are objects left
     FOR i IN v_batch.FIRST .. v_batch.LAST
     LOOP
       --DBMS_OUTPUT.PUT_LINE(offices(i));
       -- create where clause
       IF i = 1 THEN
         return_script := 'UPPER(' || v_batch(i) || ') IN (UPPER(charge))';
       ELSE
         return_script := return_script || ' OR UPPER(' || v_batch(i) || ') IN (UPPER(charge))';
       END IF;
     END LOOP;
    
     return (return_script);
     end;
    The out put looks like this:
    UPPER('H23004','H24005','T7231','T8231','T9231') IN (UPPER(charge))
    I don't know what I did wrong? It calculates the amount of the incorrect array element! (v_batch. Must be 5)
    v_batch. FIRST = 1
    v_batch. LAST = 1

    Kind regards

    Tobias

    Try this...

    declare
    text varchar2 (1000): = "H23004, H24005, T7231, T8231, T9231;
    v_where varchar2 (1000);
    Start
    Text: = text | «, » ;
    While instr (text, ',') <> 0
    loop
    v_where: = v_where | ' UPPER ("': substr (Text, 1, InStr(Text,',',1)-1) |") ' IN (UPPER (load)) OR ';
    text: = substr (text, instr(text,',',1) + 1);
    end loop;
    v_where: = substr (v_where, 1, length (v_where)-3);
    dbms_output.put_line (v_where);
    end;

    convert it to function...

  • Find the occurrence of the word in a list separated by commas

    Hello

    I need to find the first occurrence of a word in a list separated by commas.

    Example list:
    monster,daemon,shark,bambi,sky
    Now I'm looking for the word: bambi
    Result should be the first calculation of the event: 4

    Now I'm looking for the word: Monster
    Result should be the first calculation of the event: 1

    Hope you can help.

    Tobias

    Hi, Tobias,.

    This can be more efficient, because it does not use CONNECT BY or regular expressions. Instead of splitting the string to the level of every comma, just find the target string and count how many commas occur in front of her.

    WITH     got_found_pos          AS
    (
         SELECT     list_txt
         ,     INSTR ( ',' || list_txt || ','
                    , ',bambi,'
                    )          AS found_pos
         FROM    table_x
    )
    SELECT     list_txt
    ,     found_pos + 1
                - LENGTH ( REPLACE ( SUBSTR (list_txt, 1, found_pos)
                                      , ','
                             )
                      )          AS item_num
    ,     found_pos
    FROM    got_found_pos
    WHERE     found_pos     > 0
    ;
    

    Delimited lsits storage is usually a bad idea in a relational database. It is best to store each item in the list on a separate line.

  • Type a table defined clusters to hold configuration data - definition of default values for each element of the array

    Hello

    I was wondering if I could get some information and opinions on the use of an array of type defined clusters to store configuration data.  I am creating a program to test several EHR and wanted to have a control of type defined for each HAD with the information needed to create the DAQmx tasks for all signals for it must HAVE.  I am eager to do so that the data are encoded in hard and not in a file that the user might spoil.

    Controls of type def are then put into a Subvi who chooses as appropriate, one based on the enumeration of Type DUT connected to a case structure.

    I have problems with the control of the defined type.  I see issues when you try to save a configuration unique to each element of the array in the array of clusters.  Somehow, it worked at first, but now by clicking on "Operations on the data--> default font of the current value ' on individual elements of the cluster or the entire cluster (array element) does not save data when I re - open the command def.  What I am doing wrong?  I'm trying to do something with the berries of the clusters that I shouldn't do?

    I enclose one of the defined reference type controls.  I tried to change it bare to see if that helped, but no luck.

    To reproduce, change the resource string for the element 0 of the array and do the new value by default.  Then close the def of type, and then reopen it.  The old value is always present in this element.  The VI is saved in LabVIEW 2012.

    The values of a typedef are not proprigated to the instances of the control. They get if created WHEN data values have changed. They will be not updated with the changes to come. You must create a VI specifically to hardcode your values or to implement a file based initialization. The base file would be much better and more flexible. If you don't want users to change the data simply encryption. There is a wedding blowfish library that you can download.

  • mathematical calculation in script on each element of the array.

    Hi all

    I am trying to write the VB script in which I want to do different mathematical operation on each element of channel-specific data. For example, for each element I want to find the next two index given way and both before and after publication of the results on the basis, then it is more calculating.

    It will be very useful if someone can guide me in the execution of operation on the elements in the array inside the script of tiara, that we can do in labview using indexes in the table. There are built-in math and statistics in tiara tab analysis tool. But I want to design for my custom mathematical operation.

    Thnks

    HS

    Hi HS,

    Here is a version 10.2 tiara from what I understand ask you:

    Window = 2

    Denom = 2 * window + 1

    Threshold = 10

    Chnum = CNo("[1]/Speed")

    FOR i = 1 + ChnLength (Chnum) window - window

    Sum = 0

    FOR j = i - window to i + window

    Sum = sum + ChDX (j, Chnum)

    NEXT ' j

    Ave = sum/Denom

    IF Ave > threshold CAN

    ' do action of contingent

    END IF

    NEXT ' I

    Brad Turpin
    Tiara Product Support Engineer
    National Instruments

  • Clone of each element in an array of 1 d several times to create a 1 d table

    For an array of 1 d example [1,2,3,4,5,6], how to duplicate each element 5 times for example, to generate a new table 1 d as [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6]?

    I'll give you the trick as you build your own logic.

    If you have version 2013:

    Loop for and initialize the array

    If you have the previous version:

    Loop for, initialize the array and shift register

  • Count the number of items in a list separated by commas of the values

    Hello friends,

    I have a string with a list of so-called values comma separated

    String v = 34343, erere, ererere, sdfsdfsdfs, 4454, 5454, dsfsdfsfsd, fsdfsdfsdfs, dfdsfsdfsdfs, sdsfdsf, ererdsdsd45454, Sylvie

    You want to count the number of items exist in this string.

    Thank you/Kumar

    Came to my mind as well.
    But I guess I'm typing too slowly, I had other options ran just a second there are tow:

    SQL> with t as (
      2  select  '34343,erere,ererere,sdfsdfsdfs,4454,5454,dsfsdfsfsd,fsdfsdfsdfs,dfdsfsdfsdfs,sdsfdsf,e
    rerdsdsd45454,fsdfsdfs' str from dual
      3  )
      4  --
      5  --
      6  --
      7  select length(str)-length(replace(str, ','))+1
      8  from   t;
    
    LENGTH(STR)-LENGTH(REPLACE(STR,','))+1
    --------------------------------------
                                        12
    
    SQL> with t as (
      2  select  '34343,erere,ererere,sdfsdfsdfs,4454,5454,dsfsdfsfsd,fsdfsdfsdfs,dfdsfsdfsdfs,sdsfdsf,e
    rerdsdsd45454,fsdfsdfs' str from dual
      3  )
      4  --
      5  --
      6  --
      7  select count(*)
      8  from ( select regexp_substr(str, '[^,]+', 1, rownum)
      9         from   t
     10         connect by level <= length(regexp_replace(str, '[^,]+'))+1);
    
      COUNT(*)
    ----------
            12
    
  • Transformation list separated by commas (Pages) to isolate the cells inNumbers

    Hello-

    have a nice ewekend arround the world!

    I´ has obtained a letter of information-list discount. It s a comma-sperated pages document. I´d transform these e-mail addresses somehow to singel cell entries in a document numers. When I have a doc plain text export of pages and import it on numbers, I get a lot of lines in the table that appears. These lines are just like cells in the doc pages.

    Any ideas on an automation?

    Thank you!

    Use find and replace to replace commas with tabs, then select, copy and paste into a table of numbers

  • List separated by commas in the rows

    Hello

    Data:

    Row1: value, valu2, value3, value4

    Row2: Value5, Value6, valu7, value8

    Obligation of result:

    Row1: value

    Row2: value2

    Row3: value3

    Row4: value4

    Row5: Value5

    Row6: Value6

    Row7: valeur7

    Row8: value8

    Kind regards

    Ngandu

    Nordine salvation,

    I shook, whereas I try I posted it on the forum so that it could speed up my dev.

    in any case, I got the answer in another forum of oracle. You have now the link.

    WITH T AS
    (
    Select 'val1,val2,val3' txt from dual UNION ALL
    select 'val65,val66,val67,val68' txt from dual
    )
    SELECT TRIM(x.COLUMN_VALUE.EXTRACT('e/text()')) cols
      FROM t
          ,TABLE(XMLSEQUENCE(xmltype(''
         || REPLACE(t.txt
                   ,','
                   ,'')
         || '').EXTRACT('e/e'))) x
    
  • Could not save the different string value to each element of the array

    I have a configuration of VI to read several channels Veristand project.  The entrance is a table 1 d of channels, (an element for each channel, I want to read).  The channels have different names, each of the elements in the chain must be different.  I am able to edit each item and run the VI, and it works fine.  However, if I save, close and reopen the VI, all elements show the same value (what happens to the value of the last element for which I defined a default value).  Is this behavior planned, or have I missed a configuration setting which would allow different string values?  Please notify.  Thank you.

    GSinMN

    Make sure that you select the table and not only one item when you right click-> set by default on the front panel.

  • V9 Acrobat JavaScript Alert Box - possible to add space or line break after each element of the array?

    I have a Document level Javascript used to identify empty mandatory fields and fires on shares of paper, print and save. The script identifies the required fields empty, counties and outputs of an alert box indicating the number of required fields empty and lists the name of the ToolTip fields. The script identifies the required fields with an asterisk at the end of each balloon.

    Is my question possible to add a space or a line break after the decimal point for each item?

    Here is a picture of the exit where the items listed are all grouped together.

    Alert box array items need space or line break.jpg

    Here is the code:

    function validateFields()

    {

    a counter for the number of empty fields

    var = 0 flg

    count all the fields of the form

    var n = this.numFields

    create a table to contain the names of the required fields

    If they are determined to be empty

    fArr var = new Array();

    Browse all fields and look for ones that are required

    all fields that have a ' *' in their ToolTip are required

    for (var i = 0; i < n; i ++) {}

    var fn = this.getNthFieldName (i);

    var f = this.getField (fn);

    ToolTip is the property of 'userName' of the fields\;

    TT = f.userName var

    test the ' *';

    If (TT. IndexOf('*')

    ! =-1 & & f.value == f.defaultValue) {}

    increment the counter of empty fields;

    FLG ++;

    Add the fields username (ToolTip) to the list of the names of fields empty.

    fArr [fArr.length] = tt;

    }

    }

    now display a message if there are blank fields

    if(FLG>0) {}

    App.Alert ("there are '+ flg + areas that require a value\n\n' + fArr, 3")

    }

    else {}

    This.Print ();

    }

    }

    The required property is very easy to use. It's just a Boolean (true/false) value, then you can use it like this in your code. Instead of this line:

    If (tt.indexOf('*')! =-1 & f.value == f.defaultValue) {}

    Use this:

    If (f.required == true & f.value == f.defaultValue) {}

  • Separated by comma delimited field of database

    I have a ms access db field town with values like this:
    Vancouver, BC V6A 4 8
    Richmond, BC V6Y 1 s 6
    Coquitlam, BC V3J 2W4

    I like to leave the city names in the City field as Coquitlam Vancouver, Richmond, goes into the city. BC, BC, British Colombia goes into the Province field. V6A 4 8, V6Y 1 s 6, V3J 2W4 goes in the postal Code field. Is this possible?

    Thank you

    Note that Vancouver, BC V6A 4 8 is a part of two, the list separated by commas. Also note that BC V6A 4 8 is a list of the three elements of space-delimigted. If you can do something like the following:

  • Extract the matrix element

    I am trying to make the detection of peaks on a waveform. I use the waveform peak detection VI for that. One of the outputs of this VI is a picture of the 'locations' of each peak.

    The table of locations is displayed on the front panel, and it displays each item. I want to be able to extract a specific element of the array, however, say the third element (value = 226). I tried to do by using the table of index function, but I think that my understanding of this feature was incorrect. It seems that this can only isolate an ultrasensitive table 1 d array of?

    I'm sure that the answer is pretty simple, but I'm scratching my head trying to find. Thanks in advance.

    Your contribution is an array of waveforms, so you will get a table of the peaks for each waveform. You check out the first elements, which is a cluster that contains a table of the peaks for the first waveform. (Given that LabVIEW can not have arrays of arrays, you will get an array of clusters, each containing a table 1 d).

    If you have only a waveform in the input array, you must use table index before the detection of peaks and feed only a waveform to get a simple output of table 1 d.

    If you want to analyze an array of waveforms, simply dig a little deeper to the output you get. Array index to get the result of one of the waveforms (that is what you are currently doing!), and then ungroup to get the table of the results of this waveform, then the array index to access the first Ridge.

  • Form of: separation by comma cfg file access

    I need a script to idoc that read these values:

    WorkflowsPattern = workflow_one, workflow_two


    For single value, I used <$ # about WorkflowsPattern$ > and it works very well, what script to use for the values separated by commas.


    Thank you

    rsMakeFromString: creates a column of a result set of a string.

    Parameters:

    Takes two required parameters and an optional parameter:

    The first parameter is the name of the ResultSet object to create.

    The second parameter is a list separated by commas of chains to analyze (for example a, b, c and d), or a variable that has a string separated by commas as its value.

    The third optional parameter is the name of the column in the result set. If no value is specified, the name of default column to row.

    Output: Creates a result set with a single column, populated by values from the specified string.

    http://docs.Oracle.com/CD/E14571_01/doc.1111/e10726/c08_config_ref255.htm#i1111695

    Jonathan
    http://jonathanhult.com

  • Table separated by commas.

    I want to create a PL/SQL function that allows you to convert your list separated by commas of values in a nested using Table
    Function STRING_TO_TABLE, but I can't do that.
    so please help me in this matter.

    I create the function, but it displays the following errors.
    SQL> ed
    Wrote file afiedt.buf
     
      1  Create or replace function STRING_TO_TABLE(pi_string in varchar2)
      2  Return varchar2
      3  is
      4    l_tablen  BINARY_INTEGER;
      5    l_tab     DBMS_UTILITY.uncl_array;
      6  BEGIN
      7    DBMS_UTILITY.comma_to_table (
      8       list   => pi_string,
      9       tablen => l_tablen,
     10       tab    => l_tab);
     11    FOR i IN 1 .. l_tablen LOOP
     12      l_tab(i) := pi_string;
     13    END LOOP;
     14* END STRING_TO_TABLE ;
    SQL> / 
     
    Function created.
     
     
     
     
    SQL> ed
    Wrote file afiedt.buf
     
      1  create table x1
      2  (
      3  value varchar2(200)
      4* )
      5  / 
     
    Table created.
     
    SQL> insert into x1 values('&value');
    Enter value for value: 32,36,12,65,85,9663
     
     
    1 row created.
     
    SQL> / 
    Enter value for value: 43,36,89,65,112,9663
     
     
    1 row created.
     
    SQL> / 
    Enter value for value: 36,63,12,65,95,123
     
     
    1 row created.
     
     
    SQL> / 
    Enter value for value: 32,36,12,85, 85,9663
     
    1 row created.
     
    SQL> select * from x1;
     
    VALUE                                                           
    ----------------------------------------------
    32,36,12,65,85,9663 
    43,36,89,65,112,9663
    36,63,12,65,95,123
    32,36,12,85, 85,9663
     
     
    SQL> select STRING_TO_TABLE(value) from x1;
    select STRING_TO_TABLE(value) from x1
           *
    ERROR at line 1:
    ORA-00931: missing identifier 
    ORA-06512: at "SYS.DBMS_UTILITY", line 125 
    ORA-06512: at "SYS.DBMS_UTILITY", line 160 
    ORA-06512: at "SYS.DBMS_UTILITY", line 202 
    ORA-06512: at "SCOTT.STRING_TO_TABLE", line 7 
    Thank you

    Kind regards.

Maybe you are looking for