Using the SUBSTR function

Hello

I have a query like this:

------------------------------------------------------------------------------------------------------------------------
SELECT decode ((select count (1) in the patient_history b where (b.studyid = a.studyid and b.baseline_no = a.baseline_no and b.aeseq = a.aeseq and release_date IS not NULL)), 0, 'new ', ' courses') status, a.*
OF patient_history one
..........
---------------------------------------------------------------------------------------

In this request for where clause ("b.studyid = a.studyid and b.baseline_no = a.baseline_no and b.aeseq = a.aeseq")

All columns listed here in where clause had to come from a few tab100 of the table that contains a column named "pass".

tab100
-----------
Col

The columns of this pass store column names that are used in the comparison of clause 'where '. (this is a self-join)

"Say this column, ' STUDYID, BASLINE_NO, QBSCA ' as value so how can I write a string to be able to select these values such as ' a ' or 'b', etc. and write the query completely.

Select decode ((select count (1) in the patient_history |)) 'b' || ' OÙ (' || "dynamic string after extraction of the neck | ... etc.

I tried to use subtsr, but did not. Help, please.

Rgds,
Aashish

You can use this function as as follows

declare
  l_cur sys_refcursor;
  cursor l_cur_int  is
    SELECT 'Current' status, a.* FROM patient_history a where 1 = 2; -- it's a fake cursor just to define output columns
  l_rec l_cur_int%rowtype;
begin
  open l_cur for 'select ....  where '||get_where;
  loop
   fetch l_cur into l_rec;
   exit when l_cur%notfound;
   ... processing here...
  end loop;
end;

Tags: Database

Similar Questions

  • How do we use the SUBSTR function in OWB

    Hello, I'm pretty new to OWB. I need to use the SUBSTR function in owb. My source table has 16 characters in length. But in my datamar,.
    the length is 14 years. I want to the substring from source to the destination. The mappings are already developed. I need to change the mapping to make sure that,
    It brings only SUBSTR (1.14) mini - DW.

    Any help is appreciated.

    Use the operator of expression between two attributes.

    OWB has already SUBSTR as a preset transformation

    Take a look at the doc below
    26.3.1 open the expression builder

    http://docs.Oracle.com/CD/E11882_01/OWB.112/e10935.PDF

  • How to use the Substring function with Case statement.

    Hi all

    I have a requirement where I have to use the substring function on the ground for the report criteria.
    FOR EXAMPLE
    I branch domain name where I have all the information of the branch names, now some of the branch names are too large with an extension after the name.
    now I want substing it, but the length of characters varies for each branch.
    so is it possible where we use a box where we can define if the character of name plug exceed a value then he substing with this length.

    Try something like this:

    LENGTH WHEN CARTER (tablename. Branch_Name) > n THEN SUBSTRING (...) Of ANOTHER tablename. Branch_Name END

    where n is the number of characters that you want to start the break.

  • Error when you use the substring function

    Hello
    I get the error while using this query below.

    Substr ("end". ASSET_NUM, instr (end of the day". ASSET_NUM, ' :') + 1).

    ([nQSError: 10058]) A general error occurred. [nQSError: 27002] Near <>(): syntax error [nQSError: 26012]. (HY000)

    Please help me...

    Published by: user10441472 on June 24, 2009 12:49

    Hello

    Try this

    Substring ('end of account'. ASSET_NUM (Evaluate (as an int, 'End', ' instr(%1,%2)'. ASSET_NUM,': ')) + 1, 50)

  • alternatives without using the regexp_replace function

    SELECT

    REGEXP_REPLACE (phone_number,

    "([[: digit:]] {3})------." ([[: digit:]] {3}). ([[: digit:]] {4})',

    "\2-\3 (\1)") "REGEXP_REPLACE.

    Employees;

    is there another without using the regexp_replace function...

    Another way

    (eliminating instr... function as your problem focuses on one length fixed)

    WITH t AS (SELECT '112.345.6789' FROM DUAL str).

    TT AS (SELECT REPLACE (str, '.') t str)

    SELECT ' (')

    || SUBSTR (str, 1, 3)

    || ') '

    || SUBSTR (str, 4, 3)

    || '-'

    || SUBSTR (str, 7)

    TT;

    See you soon,.

    Manik.

  • help in the application without using the pivot function

    Hi gurus,

    Can you please help write the query without using the PIVOT function.
     WITH indata AS
             (SELECT 1 sn, '123:456,789,323:456,213,344,345:5454' x
                from dual
              UNION ALL
              SELECT 2, 'abcd:fgrfr,rfrf,rfred,tg:tg,tg:ophhh,op,vdfgbh:poijn' x from dual),
            instr AS
             (SELECT a.SN,
                     rownum RN,
                     B.column_value || CASE
                       WHEN B.column_value NOT LIKE '%:%' THEN
                        ':'
                     END column_value 
                FROM indata a,
                     TABLE(CAST(multiset
                                (SELECT trim(SUBSTR(x,
                                                    (CASE LEVEL
                                                      WHEN 1 THEN
                                                       1
                                                      ELSE
                                                       instr(x, ',', 1, LEVEL - 1) + 1
                                                    END),
                                                    (CASE instr(x, ',', 1, LEVEL)
                                                      WHEN 0 then
                                                       4000
                                                      ELSE
                                                       instr(x, ',', 1, LEVEL) - 1 -
                                                       (CASE LEVEL
                                                          WHEN 1 THEN
                                                           0
                                                          ELSE
                                                           instr(x,
                                                                 ',',
                                                                 1,
                                                                 level - 1)
                                                        END)
                                                    END)))
                                   FROM dual
                                 CONNECT BY level <=
                                            LENGTH(x) -
                                            LENGTH(REPLACE(x, ',', '')) + 1) AS
                                sys.odcivarchar2list)) b)
            SELECT  col1_val2,
                    col1_val1,
                    col2_val2,
                    col2_val1,              
                   systimestamp
              FROM (select SN,
                          ROW_NUMBER() over(partition by SN order by RN) RN,
                           SUBSTR(column_value, INSTR(column_value, ':') + 1) VAL1,
                           substr(column_value, 1, instr(column_value, ':') - 1) val2
                      FROM instr ) PIVOT(MAX(VAL1) VAL1, MAX(VAL2) VAL2 FOR SN IN(1 as col1,2 as col2));
    Thanks in advance!...

    Any help would be appreciated.

    user590978 wrote:

    Can you please help write the query without using the PIVOT function.

    with indata as (
                    select 1 sn,'123:456,789,323:456,213,344,345:5454' x from dual union all
                    select 2, 'abcd:fgrfr,rfrf,rfred,tg:tg,tg:ophhh,op,vdfgbh:poijn' x from dual
                   ),
             t1 as (
                    select  x
                      from  indata
                      where sn = 1
                   ),
             t2 as (
                    select  x
                      from  indata
                      where sn = 2
                   ),
             t3 as (
                    select  level lvl,
                            substr(
                                   x,
                                   instr(',' || x,',',1,level),
                                   instr(x || ',',',',1,level) - instr(',' || x,',',1,level)
                                  ) col1
                      from  t1
                      connect by level <= length(x) - length(translate(x,'A,','A')) + 1
                   ),
             t4 as (
                    select  level lvl,
                            substr(
                                   x,
                                   instr(',' || x,',',1,level),
                                   instr(x || ',',',',1,level) - instr(',' || x,',',1,level)
                                  ) col2
                      from  t2
                      connect by level <= length(x) - length(translate(x,'A,','A')) + 1
                   ),
             t5 as (
                    select  lvl,
                            substr(col1,1,instr(col1 || ':',':') - 1) col1_val1,
                            substr(col1,instr(col1 || ':',':') + 1) col1_val2
                      from  t3
                   ),
             t6 as (
                    select  lvl,
                            substr(col2,1,instr(col2 || ':',':') - 1) col2_val1,
                            substr(col2,instr(col2 || ':',':') + 1) col2_val2
                      from  t4
                   )
    select  col1_val1,
            col1_val2,
            col2_val1,
            col2_val2,
            systimestamp
      from      t5
            full join
                t6
            on (
                t6.lvl = t5.lvl
               )
      order by coalesce(t5.lvl,t6.lvl)
    /
    
    COL1_VAL1  COL1_VAL2  COL2_VAL1  COL2_VAL2  SYSTIMESTAMP
    ---------- ---------- ---------- ---------- -------------------------------------
    123        456        abcd       fgrfr      23-OCT-12 11.50.12.015000 AM -04:00
    789                   rfrf                  23-OCT-12 11.50.12.015000 AM -04:00
    323        456        rfred                 23-OCT-12 11.50.12.015000 AM -04:00
    213                   tg         tg         23-OCT-12 11.50.12.015000 AM -04:00
    344                   tg         ophhh      23-OCT-12 11.50.12.015000 AM -04:00
    345        5454       op                    23-OCT-12 11.50.12.015000 AM -04:00
                          vdfgbh     poijn      23-OCT-12 11.50.12.015000 AM -04:00
    
    7 rows selected.
    
    SQL> 
    

    SY.

  • To specify the SUBSTR function in SqlLdr

    Hello
    I want to clarify the SUBSTR function for that column when I use sqlldr in owb; but I didn't know where I can find this property set. everyone knows?

    Thank you
    Prabha

    Hi Prahba

    .. . If you build the map with the file as the source, add an expression that has the SUBSTR and map this output of the expression attribute to your target, the control generated for the mapping file will have the expression.

    See you soon
    David

  • How doi send texts using the speech function without hitting the Send button?

    using the speech function in texting, how to send the text without actually pushing the Send button? When I say 'send' or 'send message' he just keeps typing

    "Hey, Siri, send a message to Bob. Siri will then ask you what you want text Bob. Once you stop dictating, Siri will ask then if you're ready to send the message. Say, "Yes." It's really very nice.

    If you are already in the message app and using speech-to-text, you must press the Send button.

  • Cannot use the Val function in a script use

    I'm trying to convert a text string (binary number) in a number by using the Val function in a script of use but the colors of tiara the term Val in red and the script produces an error indicating "Variable is undefined:"Val"

    Why is that happen? Some functions are not allowed in use scripts?

    In addition, it seems impossible to use debugging in my use - if I try to add a variable to the Watch window, there never have any value even if I put a breakpoint on this line of code. Would it not possible to debug scripts use?

    David,

    regarding your question on "Val" I would like to direct you to the "File.Formatter.ParseString" function which is part of the API available at DataPlugins.

    CDbl and CLng do a good job in general, but they are dependent on the local configuration of the PC. 'ParseString' is so much more reliable.

    Andreas

  • How to connect the parallel test using the logarithmic function Teststand database result

    Hello

    How can I connect a test result of 4 EHR tested in parallel using the logarithmic function Teststand database

    I use Labview 2013, 2013 Teststand and sequential model.

    The test is performed using a single digital card (SMU-6556). The FSD 4 is connected to the port of the digital map and is tested in parallel.

    Currently at the end of the test, I would have a report with all the measures, but I need 4 reports (1 report / dut)

    TKS


  • When I use the library function node call in real time, is loaded only once for all or load the DLL whenever it is called?

    When I use the library function node call in real time, is loaded only once for all or load the DLL every time when it is called?

    I have a critical application in real time, in which I use a piece of DLL function developed in C++.  It is ok?  Make sure any senior developer?

    Thank you in advance.

    The user interface thread is the thread that is used to update the user interface. It's slow. And it's supposed to be that way because humans are slow.

    The call library function node can be configured as this thread to use in the configuration for it dialog box. Please visit the LabVIEW documentation on how to do this.

  • How can I use the BCGTransform function to treat the 16-bit Image?

    Hi ~

    I use LabWindowsCVI8.5 and NI Vision to make the treatment of the Image. When I read the "IMAQ Vision for LabWindowsCVI Reference Manual", I found that the imaqBCGTransform function only supports 8-bit Image, while I do the BCG to turn on 16-bit image. Are there solutions to use the BCGTransform function to deal with the 16-bit Image? Or any other feature that could make the correction Gamma, contrast and brightness on the 16-bit Image?

    Thank you very much!

    because imaqBCGTransform is implemented as a lookup table, we can understand why it is limited to 8-bit images.

    Now let's take a look at the definition of each of this mandate (from the NI Vision Concepts documentation):

    -brightness: a constant added to the components red, green, and blue pixel of color over color, decoding of the process;

    -contrast: a constant multiplication factor applied to the components of the luma and chroma of a pixel of color in color to decoding process.

    -gamma correction: expand high gray-level information in an image while removing information of low level of gray.  (the chapter on lookup tables gives some examples of corrections gamma)

    now that you understand that this transformation is a simple mathematical function, simply calculate the correction for each pixel on your 16-bit images.

    I know not the exact formula used by the imaqBCGTransform function, but you should be able to approach by performing some tests on images 8 bits with the original function... or you can make your own formula... or find one on the net... or you can ask someone at home OR you give the formula...

  • Does anyone have an example VI for using the SendInput function in User32.dll?

    Hi all

    I am creating a VI that creates a click of the mouse.  I looked at the MSDN Web site and found that I need to use the SendInput function in User32.dll.  The problem is that some of the parameters for this function are nested structures.  How to use this function in a call library function node?  Is there already a LabVIEW wrapper for this function?

    Thank you

    MechEman

    I would use rather MouseEvent.  I looked at my VI and it can be cleaned up a bit, but it works for what you want to do.

  • Using the comparison function where 2 data tables various types

    Is it possible to use the comparison function in Labview you to compare 2 arrays of types of different data (e.g. Boolean and double-precision)?

    Would this work?  Nested for loops of index on the TRUE values of the Boolean table.

  • How to copy an image that is in format .pdf using the paint function paste in Word?

    I would like to copy a table that is in a non-protected PDF document using the paint function in accessories to paste it in a Word document that I'm working on. Please help as soon as POSSIBLE.

    Hello, Edward Namalima,.

    1. first open the pdf page you want to copy.

    2. when the page is displayed on your screen, press prtscrn on your keyboard.

    3. a copy of the screen has now sent in the windows clipboard.

    4. now open Paint.

    5. on the Paint toolbar, click on edit and then click on paste. The image will now be pasted in a Paint window. You may need to accept a dialog resize if the image is larger than the current document.

    6. now, from the toolbar to the left of your screen, click on the Selection (the oblong dotted box) tool. With the selection tool, select the entire surface of the table you want to copy. Once selected, click on modifier change again, then select Copy.

    7. now, open Microsoft Word.

    8. then place the cursor where you want the table to set, and then press the CTRL and V together on your keyboard.

    9. the image of the table should now be pasted into your Word document.

    Alternatively, you can use the cutting tool (click on the Start button and type snipping tool in the search field). Select the table you want in the pdf page using the cutting tool and then open word and paste the table in word.

    This forum post is my own opinion and does not necessarily reflect the opinion or the opinion of Microsoft, its employees or other MVPS.

    John Barnett MVP: Windows XP Expert associated with: Windows Expert - consumer: www.winuser.co.uk |  vistasupport.mvps.org | xphelpandsupport.mvps.org | www.silversurfer-Guide.com

Maybe you are looking for