Compare column values

Hello

do we not have a function to compare two values of type varchar column.

I have a table tab1
col1 col2 
abc  abc
cde cde
efg  aba
ghi  ikl
abc abc
I'm trying to store the result in a view...
col1 col2 diff
abc  abc  true
cde cde  true
efg  aba  false
ghi  ikl   false
abc abc  true
How can this be achieved through the function or query.

Thank you.

BTW, all the posted solution do not consider NULL values:

SQL> with t as (
  2             select 'abc' col1,'abc' col2 from dual union all
  3             select 'cde','cde' from dual union all
  4             select 'efg','aba' from dual union all
  5             select 'ghi','ikl' from dual union all
  6             select 'ghi',null from dual union all
  7             select null,'ikl' from dual union all
  8             select null,null from dual union all
  9             select 'abc','abc' from dual
 10            )
 11  select  col1,
 12          col2,
 13          nvl2(regexp_replace(col1,'^' || col2 || '$'),'false','true') sy,
 14          case when col1=col2 then 'true' else 'false' end arun_Centinul_hoek,
 15          DECODE(col1, col2, 'true', 'false') Himanshu
 16    from  t
 17  /

COL1 COL2 SY    ARUN_CENTINUL_HOEK HIMANSHU
---- ---- ----- ------------------ --------
abc  abc  true  true               true
cde  cde  true  true               true
efg  aba  false false              false
ghi  ikl  false false              false
ghi       false false              false
     ikl  true  false              false
          true  false              true
abc  abc  true  true               true

8 rows selected.

SQL> 

SY.

Tags: Database

Similar Questions

  • Compare the column values for multiple lines

    I am new to oracle and I have a requirement to compare the values of column across multiple lines.  If all column values are the same, I want to display that value, if the columns are not the same, I need to display 'no match' as value.   I need id to group values and display a status value based on the above logic.   Can anyone offer assistance with dispalying the result expected below?

    Sample

    Table

    State ID

    1         S

    2         L

    1         S

    2          S

    expected results

    State ID

    1         S

    2 no match


    Hello

    That's what you asked for:

    SELECT id

    CASE

    WHEN COUNT (DISTINCT status) > 1

    THEN "no match."

    For ANOTHER MIN (status)

    The END as status

    T

    GROUP BY id

    ;

    Want that if each State ID is NULL?  The CASE expression above returns NULL in this situation.

  • How can I compare the value of column within the COUNT() function?

    I want to compare the value of the column within the COUNT() function as below how ever it gives me the error. I want to calculate the percentage, how can I do this task?
    Thank you.


    SELECT department_id
    , COUNTY (salary < 250000) / COUNT (*)
    OF plch_employees
    GROUP BY department_id
    ORDER BY department_id;
    SELECT  department_id.
            COUNT(CASE WHEN salary < 250000 THEN 1 END) / COUNT(*)
      FROM  plch_employees
      GROUP BY department_id
      ORDER BY department_id
    /
    

    SY.

  • Disqualification: Compare the value list in another Table

    I'm relatively new to the Disqualification.

    I use the 11.1.1.7 version.

    I have 2 tables Oracle.  Table1.FieldA does not have a foreign key constraint (but should be) at Table2.FieldB.

    I created a snapshot for Table1 that includes FieldA.

    I created another cliché to Table2 which includes FieldB.

    I am trying to compare the Table1.FieldA with Table2.FieldB value to make sure that there is.

    I can think of a few processors that I could, but they seem to compare a value with another value in the same snapshot (table).

    Any advice would be helpful.


    Thank you.

    Ray

    Hello

    Use the search check if you want to just check between the tables. According to the reference database, you need create a list of choices on the table (can be either staged as you, or just a list of external choice provided the lookup columns are indexed). Use Lookup and return if you want to import data in the other table in your process. You can control if you want a 1:1 or from a 1:M relationship, and if you go back several records, you can use split chronogram: table with all the paintings of entry to create an intermediate join process.

    Mike

  • Display a time column value

    Hey,.
    I'm trying to display a column value only once for a folder, not a static value. Changes in value and it can be a lot of values. I don't think that grouping will work since the Date value is dynamic. I use Oracle for Toad 10.5. There are 4 files with data from this trial.
    select Date, Person, Language, Country
    from TableA
    TableA
    Date            Person  Language   Country
    01/25/2013       James   English
    12/20/2012       James   English
                                         US
                                         AF
    Want to display only
    Date            Person  Language   Country
    01/25/2013       James   English
    12/20/2012  
                                         US
                                         AF
    Thanks for reading this thread!

    Published by: Nikki on January 7, 2013 13:08

    Hello

    You can use the ROW_NUMBER analytic function to see if a given line is the 1st row in a group and display only the columns of the person and the language when it is:

    WITH     got_r_num     AS
    (
         SELECT       dt          -- DATE is not a good column name
         ,       person, language, country
         ,       ROW_NUMBER () OVER ( PARTITION BY  person
                                      ,          language
                               ORDER BY          dt
                             )  AS r_num
         FROM      table_x
    )
    SELECT       dt
    ,       CASE WHEN r_num = 1 THEN person   END)     AS person
    ,       CASE WHEN r_num = 1 THEN language END)     AS language
    ,       country
    FROM       got_r_num
    ORDER BY  person, language, dt     -- If wanted
    ;
    

    Your front end, perhaps as a way of hiding these values when you want to. PAUSE function in SQL * more to it; I don't know if toad has nothing comparable.

    I hope that answers your question.
    If not, post a small example data (CREATE TABLE and only relevant columns, INSERT statements) where the query above generates erroneous results, and also after the good results you want from this data.
    Explain, using specific examples, how you get these results from these data.
    Always say what version of Oracle you are using (for example, 11.2.0.2.0).
    See the FAQ forum {message identifier: = 9360002}

  • How to compare, present value: block.text_item with the value of data

    Hello
    Could you please tell me
    How to compare the current value: block.text_item with the corresponding database column value.
    I use form 10g

    It has block and there is a text element in this block.
    When I run the form and query the block (in a table), the: block.text_item show me any value it in the database.
    Now I add value in the: block.text_item to the existing value.

    now
    the: block.text_item contains the old + new added value
    While
    the database table contains the value 'old '.

    Now, with a click of button, I want to know what value I added

    Please can you me, is it possible without writing a select query?

    Hello

    Now, with a click of button, I want to know what value I added

    So you're saying always user will bring added value to the existing value. Because it will fail in a case. Let's say that
    Database value is = ABCD
    The user opens the form and he took the D and write E and now value is ABCE and length is always the same 4. There is therefore no need to add.

    In any case, you can know that the value of database at run time, there is a property for the element called DATABASE_VALUE. She gives the value that is in the database while you run the form before save. and you can use it like that...

    Trigger = WHEN-MOUSE-DOUBLE-CLICK on item level
    DECLARE
      vItemValue DATATYPE; -- Set the data type according to your desired field.
      vValueAdded DATATYPE; -- Set the data type according to your desired field.
    BEGIN
      vItemValue:=GET_ITEM_PROPERTY('ITEM_NAME',DATABASE_VALUE);  -- It will return you the database value in vItemValue variable.
      IF LENGTH(vItemValue)>LENGTH(:FORM_ITEM_NAME) THEN  -- It mean something change or added
        vValueAdded:=SUBSTR(:FORM_ITEM_NAME,LENGTH(vItemValue)+1);
        MESSAGE('Added value is : '||vValueAdded);  -- It will show you the added value.
      END IF;
      -- now suppose you want to show the old and new value in message not the added one
      -- Then no need of IF condition. You can just use message like this
      -- And i would prefer to use like this way
      MESSAGE('Old Value : '||vItemValue||'  New Value - '||:FORM_ITEM_NAME);
      MESSAGE('Old Value : '||vItemValue||'  New Value - '||:FORM_ITEM_NAME);
    END;
    

    Hope that's clear.

    -Clément

  • compare the value of all the 10 seconds

    Hello

    I collect data continuously send orders. I now compare a value of them every 10 seconds. I have attached example vi here with. I have to read the data and every 10 seconds, I have to check the weather it ok or not.i I could do?

    Yes you can do check the attached example

  • How can I compare unique value with several value...

    Hello

    I want to compare a value with multiple values, how is it possible?

    I tried to design the same logic here as an attachment, but I had the problem that when I entered the value of y that is compared with only a minimum value of x, I don't want I want to compare the value of y with the value of x and then if y is less than x while loop should be stop.

    I want to do because in my program some time I have not result I want, for example, the values of x is 4,5,6,7,8 and value is assumed to be 6 then while loop should be stop but here he considers only less and its 4 here so so that the loop is not stop even there is less then 7 and 8. So I want to compare the value of y with all values of x and if y is less then one of the values while x loop should be stop and led should be on.

    Please guide me how I can do...

    I don't understand?  If there is less than the minimum value of X then it is less than all values of X.  That's what I do anyway:

  • By the way a column value to Javascript

    Hi all

    I have an interactive relationship with the following SQL:

    Select

    EmpNo,

    Ename,

    "< a href =" # "onclick = 'test ("show it");' > ' |" jobs jobs | "< /a > ' job

    de)

    Select 10 empno, ename 'John', 'Manager' of the double job

    Union

    Select the 20 empno, ename 'Bookmark', 'Clerk' double work

    )

    Here is the definition of the test() function:

    < script type = "text/javascript" >

    function test (x) {}

    Window.Alert (x);

    }

    < /script >

    The report works very well. I can click on the column values of work e.g. Manager, the value hardcoded clerk alerts and function 'show it '. I want to show the value of employment, so if I click Manager, the alert must be 'Manager' and if I click on clerk then the alert should be "clerk." I tried to call the function like test(#job#) but no use.

    Help, please.

    Thank you

    ZKay wrote:

    I have an interactive relationship with the following SQL:

    Select

    EmpNo,

    Ename,

    '' | job |'' as job

    de)

    Select 10 empno, ename 'John', 'Manager' of the double job

    Union

    Select the 20 empno, ename 'Bookmark', 'Clerk' double work

    )

    Here is the definition of the test() function:

    The report works very well. I can click on the column values of work e.g. Manager, the value hardcoded clerk alerts and function 'show it '. I want to show the value of employment, so if I click Manager, the alert must be 'Manager' and if I click on clerk then the alert should be "clerk." I tried to call the function like test(#job#) but no use.

    It does not seem very useful, but all that is needed is to concatenate the value of employment in the event hours code:

    select
      empno,
      ename,
      '' || job || '' as job
    from(
    select 10 empno, 'John' ename, 'Manager' job from dual
    union
    select 20 empno, 'Mark' ename, 'Clerk' job from dual
    )
    
  • By using the link in the column to pass column values

    Hello

    I have a link to the column in my report which opens a modal page, now I want to use the value of the column clicked in the page that opens.

    I don't want to put any article on the opening page of the column value of click rather I want to use the value of the column of the click in my sql query.

    for example:

    1 P1 has the report < column link by clicking on it opens P2 >

    2. on page 2, I want to use the value of the clicked column.

    So far, I did

    1 link to page 2

    2. ask - #column_value_clicked #.

    3. in the sql query, I use the same above in the where clause.

    Any help...

    Thank you

    Rakesh

    fac586 wrote:

    Sunil Bhatia wrote:

    Hi Rakesh,

    Make use of x 01 parameter included in apex 5.0

    You can create a URL to page 1 as:

    f? p = 103:1:3241341234123: & x 01: #column_value_clicked #.

    Make use on request P2 in the form:

    Select * from test_table where id = APEX_APPLICATION. G_X01;

    You have not tested who, did you?

    I tested it buddy.

    Link https://apex.oracle.com/pls/apex/f?p=56971

    Click any bar chart and then wait that he freshen up.

    Click on report of ENAME and see that he went through the parameter.

    Report URL: f? p = 56971:2: & APP_SESSION. : No.: & x 01 = #ENAME #.

    -Sunil Bhatia

  • Put text Logo with SORT column values?

    Hello

    I have a page open IRR w / filters IRR past as follows.

    .. /f?p=200:21:0::no:CIR:IREQ_RELEASE,IREQ_PLATFORM:11.2.0.4,Linux:Yes

    I want to give the page a title with the SORT column values passed as follows.

    "LINUX 11.2.0.4 Report" on the text Logo.

    Is it possible that I can do this? Or if not possible, a way to put it on the field of text or something?

    Hello

    To set the value of your property, you will need to pass something in it:

    https://Apex.Oracle.com/pls/Apex/f?p=9086:2:113599573679605:P2_TITLE:Linux % 20Server % 20Report

    So when I had a session in your application and a value passed to the item value has changed

    I'm not fully grasp what you are trying to reach.  Are you try to click on the pencil edit go to one another form of change in the title of your page will be set to the column name in the report on your previous page?

    You try to dynamically update an element on the page you are on when a filter is added?

    If you can give me more tips, I'm happy to help, if your app is just a demo app on apex.oracle.com and you are happy for me to connect and make changes that might help, I'm happy to do.

    Thank you

    Paul

  • Transpose the unique column values online

    Hi all

    How to transpose the values of one column in a row,

    COL

    1

    2

    3

    4

    5

    6

    7

    8

    and I want to convert this column into the line as follows:

    Line (each in a separate column value). Number of values is not constant.

    1,2,3,4,5,6,7,8

    Solution without converting them to XML:

    WITH row_values

    AS (SELECT DISTINCT property_name,

    column_order

    OF v_rd_property_definition

    WHERE lp_id = 5171

    ORDER BY column_order)

    SELECT Regexp_substr(Wm_concat(property_name), "[^,] +' 1, 1") AS col1,.

    Regexp_substr (Wm_concat(property_name), "[^,] +' 1, 2"). AS col2.

    Regexp_substr (Wm_concat(property_name), "[^,] +' 1, 3") AS col3.

    Regexp_substr (Wm_concat(property_name), "[^,] +' 1, 4") AS col4,.

    Regexp_substr (Wm_concat(property_name), "[^,] +' 1, 5") AS col5,.

    Regexp_substr (Wm_concat(property_name), "[^,] +' 1, 6") AS col6,.

    Regexp_substr (Wm_concat(property_name), "[^,] +' 1, 7") AS col7

    OF row_values;

  • two column values in a single column

    Hi guys,.

    I have a requirement that i want to be viewing the two column values in a single as column... values year & product will be exposed in a unique column values

    Kind regards

    Sree

    Karthickumar Pillaiyarsamy yours is a database, in OBIEE is similar with some limitations...

    Sree! you have 2 ways to do this: by using the CONCAT function or the | operator, examples here are 2 concatenating year, a space and production:

    "Time". "" T05 annually name | ' ' || ' 'Products ' '. Product P1.

    CONCAT ("Time". "T05 per year of name', CONCAT (" ","Products".)" P1 product"))

    CONCAT in OBIEE accept only 2 params, so you if want to add a space between the 2 items, you must nest your function call.

    In case your year column is a number, you can convert it to a string using CAST ("your column" as VARCHAR (10)).

  • How to replace column values

    Hello

    I have the table as below, I need to replace the name column value b with X.how to get it.

    Table

    IDname
    1one
    2b
    3c
    4d
    5e

    Output

    IDname
    1one
    2X
    3c
    4d
    5e

    Hello

    Maybe a little decode?

    select id, decode( name, 'b', 'X', name) from ...
    

    concerning

    Kay

  • A column value a comma, which leads to a column different while export to CSV file

    Hi all

    I have a few columns that will be built in the CSV file. The problem is in one of the column value of a comma in there. Thus, it creates a separate column two in CSv file.

    For example:

    Name of the column: description.

    Value: Bumpers, cushion

    But then that export in CSV file, it gives me bumper as a column and seat cushion in the second column.

    I'm using Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    Appreciate your help.

    Thank you

    Suresh

    Hello

    REPLACE (str

    , '"'

    , '"'

    )

    Returns a copy of the string str, but with all the ' "" ' changed substrigs in ' ' ' "

    This assumes that your front-end is not treat & like variable substitution marker.  If it is so, and -is your SQL * more escape character, then you can say

    REPLACE (str

    , '\"'

    , '"'

    )

Maybe you are looking for

  • List of Finder application and orders

    For years I used a hotkey on the command "paste and Match formatting."  It is useful in applications such as Word and Mail.  This command does not appear in the Edit menu and I remember more where I found it.  I was therefore wondering if there is so

  • Satellite click mini camera rear problem

    Hello! could someone help me please. 10 rear camera no longer works after upgrade and installation of windows. What will I do to solve this problem? Help, please. Thank you

  • EliteBook 8460p: Bluetooth Windows 10

    Hello I have recently upgraded to Windows 7 to Windows 10 and have problems with the Bluetooth drivers. -are not not in Device Manager -are not not in the settings / devices as Bluetooth-Tab -grayed out in settings / network / Mode plane (or whatever

  • the messages may not send image

    I have problems sending pictures through messages in my mac, help.

  • Form inputText select in the tree in the pop-up dialog box

    I have two entity objects. Recursive tree structure, the other has a foreign key to the first.The form of the second entity ADF, I need to make the user choose attribute for foreign key in a tree, so I've created a popup, a dialogue and a tree in it.