Greater than operator in SQL

Hi friends,
A table has 2 colums A and B.How i can return a flag ,say 1 if A is greater than B or 0 if A is less than B,by using SQL.
Can any one help me out.
thanks and regards,
Ajith

select a,b,case when a > b then 1
                when a=b   then 0
                else -1
           end FLAG
from table;                                                                                                                                                                                                                                                                               

Similar Messages

  • Greater than operator for obiee analysis

    Hi ALL,
    Just want to ask if it is possible to use date for the greater than operator in creating obiee analysis?
    for example: I want to get months greater than January 2015 for specific measure.
    Thanks in advance

    but I'm using Oracle 9i r2
    The question is why greter than, lesser than, does not workWorks on 9.2.0.8:
    SQL> select * from v$version where rownum = 1
    BANNER                                                         
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    1 row selected.
    SQL> with mydata as
       select xmltype('<Values><Value>data1</Value><Value>data2</Value></Values>') MyXmlColumn from dual
    select * from mydata t where existsNode(t.MyXmlColumn, '/Values/Value') < 3
    MYXMLCOLUMN                                                              
    <Values>                                                                 
      <Value>data1</Value>                                                   
      <Value>data2</Value>                                                   
    </Values>                                                                
    1 row selected.

  • Xpath query using greater than operator

    I'm trying to evaluate some xml to determine if it matches some criterium.
    MyXmlColumns contains the following kind of data "<Values><Value>data1</Value><Value>data2</Value><Values>"
    When I execute the following query I get zero rows returned when it should match some rows containing this data.
    select * from mydata
    where existsNode(MyXmlColumn, '/Values/Value[. > "data1"]') = 1
    The question is why greter than, lesser than, does not work, and if there is any alternative.
    If I use equals operator, or greater than but using a number it works.
    I know that I can use XmlExists function but I'm using Oracle 9i r2 so it's not an option.
    Thanks in advance for any suggestion.

    but I'm using Oracle 9i r2
    The question is why greter than, lesser than, does not workWorks on 9.2.0.8:
    SQL> select * from v$version where rownum = 1
    BANNER                                                         
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    1 row selected.
    SQL> with mydata as
       select xmltype('<Values><Value>data1</Value><Value>data2</Value></Values>') MyXmlColumn from dual
    select * from mydata t where existsNode(t.MyXmlColumn, '/Values/Value') < 3
    MYXMLCOLUMN                                                              
    <Values>                                                                 
      <Value>data1</Value>                                                   
      <Value>data2</Value>                                                   
    </Values>                                                                
    1 row selected.

  • Greater than operator in Hana

    Hi, I have a quey inside a Xml File and I need to use the Comparasion Operator for "Greater than" in this way : &gt;
    Question: Does Hana Syntax support  &gt; ?

    Hi there,
    Was '>' or '<' not working from XML? I used a > operator in a calculated column  and then exported the HANA model to see the XML file of it. It has something like this below:
    <formula>IF(&quot;EMP NO &quot; >=3,&quot;EMPLOYEE NAME&quot;,&quot;GENDER&quot;)</formula>
    Regards,
    Krishna Tangudu

  • Greater than operator for date in obiee analysis

    Hi all,
    I just need your help. is it possible to use the greater than or less than operator (in filter) for date in creating analysis?
    FOr example: I need to have the greater than months from "January 2015" for specific measure.
    Thanks!

    Somehow the person records for this person have become corrupted. Have you any idea how that might have happened? Options:
    1) Someone or some program has issued a direct table update on per_all_people_f
    2) Someone has used Help > Diagnostics > Examine to modify the data
    3) An Oracle bug. This one is unlikely but could happen if using an unusual form (Shared Person Form, for example) and perform a weird combination of actions/keystrokes. But you'd need to be able to reproduce it if you want Oracle to fix it.
    If you're support contract is invalid or you don't have a support contract your options are limited. You can either:
    a) Bring your patch level up-to-date and then raise an SR. If Oracle agree to provide a script to fix it they'll probably just do direct table updates to resolve this record.
    b) Fix this yourself using direct table updates. This obviously isn't supported either. If you do this, make sure you know what you're doing and get it 100% right first time. BE VERY CAREFUL!
    Obviously I strongly recommend option b.

  • Date Greater Than Operator

    I am comparing two date fields from two tables. Both are in DATE format. The dates look like this: 22-Apr-2006 07:00:10 AM and 01-Jun-2007 12:00:00 AM. I am adding this statement to a WHERE clause:
    and vendors.vend_obsolete_date > document_xref.acceptance_date;
    In this particualr case, I should get no result because the 1st date came before the 2nd date. But when I run my program, it seems to be ignoring my > statement. Is using a greater than sign the proper syntax to compare if the 1st date field is bigger (came after) another?
    Thanks!

    Greater than works on DATE columns, no problem. A simple test confirms it.
    SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jul 9 17:50:52 2007
    select 'oops, something is wrong' as result
    from   dual
    where
      to_date( '22-Apr-2006 07:00:10 AM', 'dd-Mon-yyyy hh12:mi:ss AM' )
      > to_date( '01-Jun-2007 12:00:00 AM', 'dd-Mon-yyyy hh12:mi:ss AM' )
    no rows selectedThere must be something else about your query or data that's causing the anomaly.
    Joe Fuda
    SQL Snippets

  • Less Than operator not working, Greater Than operator works comparing dates

    I need to compare dates to conditionally display a row. If the DateDueJulian_ID5<= AsOfDate_ID47 display otherwise don't. I get all rows but if I reverse the logic >= the condition works and only displays the one matching row.
    I am using the Template Builder 10.1.3.4.1 and WORD 2007.
    Any help is appreciated!
    Thanks
    XML Source:
    <Header_Section_S3>
    <Delinquency_Report_ID225>DELINQUENCY NOTICE</Delinquency_Report_ID225>
    <VersionName_ID270>0001</VersionName_ID270>
    <Report_or_Video_Title_ID53></Report_or_Video_Title_ID53>
    <Remit_To_Text_ID68>Remit To:</Remit_To_Text_ID68>
    <RemitToAddressLine1_ID2>XXXXX</RemitToAddressLine1_ID2>
    <XX_XX_XX_ID259>2010-08-25</XX_XX_XX_ID259>
    <Date__ID258>Date</Date__ID258>
    <RemitToAddressLine2_ID5></RemitToAddressLine2_ID5>
    <RemitToAddressLine3_ID8></RemitToAddressLine3_ID8>
    <As_of_Date__ID46>As of Date</As_of_Date__ID46>
    <AsOfDate_ID47>2007-11-29</AsOfDate_ID47>
    <A_R_Delinquency_Notice_Detail_Join_S2>
    <DocVoucherInvoiceE_ID1>1897265</DocVoucherInvoiceE_ID1>
    <DateInvoiceJ_ID3>2007-10-11</DateInvoiceJ_ID3>
    <DateDueJulian_ID5>2007-12-10</DateDueJulian_ID5>
    <NameRemark_ID7></NameRemark_ID7>
    <AmountOpen_ID11></AmountOpen_ID11>
    <AddressNumber_ID17></AddressNumber_ID17>
    <UniqueKeyIDInternal_ID19></UniqueKeyIDInternal_ID19>
    <KAV_CustomerPONumber_ID23></KAV_CustomerPONumber_ID23>
    </A_R_Delinquency_Notice_Detail_Join_S2>
    <A_R_Delinquency_Notice_Detail_Join_S2>
    <DocVoucherInvoiceE_ID1>1897265</DocVoucherInvoiceE_ID1>
    <DateInvoiceJ_ID3>2007-10-11</DateInvoiceJ_ID3>
    <DateDueJulian_ID5>2007-11-10</DateDueJulian_ID5>
    <NameRemark_ID7></NameRemark_ID7>
    <AmountOpen_ID11></AmountOpen_ID11>
    <AddressNumber_ID17></AddressNumber_ID17>
    <UniqueKeyIDInternal_ID19></UniqueKeyIDInternal_ID19>
    <KAV_CustomerPONumber_ID23></KAV_CustomerPONumber_ID23>
    </A_R_Delinquency_Notice_Detail_Join_S2>
    RTF:
    <?for-each:Header_Section_S3?>
    <?if:DateDueJulian_ID5 <= AsOfDate_ID47?>
    <?DocVoucherInvoiceE_ID1?>
    <?DateDueJulian_ID5?>
    <?AsOfDate_ID47?>
    <?end if?>
    <?end for-each?>

    Found the solution! Use Date_Diff.
    <?if:xdoxslt:date_diff('d',DateDueJulian_ID5,AsOfDate_ID47,$_XDOLOCALE,$_XDOTIMEZONE)>=0?>

  • CcBPM - switch with a condition (greater than) in XI 7.0

    Hello.
    I have this BPM that must have a switch condition like:
    IF <field xpto> of the received message is greater than 0.
      branch 1.
    ELSE.
      branch 2.
    ENDIF.
    In XI 7.1 is easy, because the condition editor has logical expressions like >, <, etc ...
    In XI 7.0 we don't have that, but in SAP help I read:
    You want to formulate the following condition: The booking number (BookingNumber) is greater than 0100.
    Since the greater than (>) operator is not available in the condition editor, you can use the following solution: You define the relevant logical expression in the expression editor by means of an XPath predicate, and assign it to a node element. Using the condition editor you then just query the existence of this node element (by using the existence operator (EX)).
    This means you first create the following expression in the expression editor:
    /FlightBookingOrderConfirmation [BookingID/BookingNumber > 0100]
    Using the condition editor, you then formulate the following condition:
    (/FlightBookingOrderConfirmation [BookingID/BookingNumber > 0100] EX)
    The meaning of this condition is as follows:
    A node element FlightBookingOrderConfirmation exists, to which the following applies: The content of the subelement BookingID/BookingNumber is greater than 0100.
    In my example, the xpath for the variable is:
    /p4:EventMessage/p4:MessageBody/p5:Order/p5:Totals/p5:TotalGrossAmount
    But i'm not getting how to use the bracket condition.
    Regards,
    Valter Oliveira.
    Edited by: Valter Oliveira on Mar 10, 2009 6:04 PM

    Hi, valter:
    Existence operator (EX) is to check if the node exist in your source message or not.
    It is used in Conditional Editor, mostly in the conditional routing in ID.
    IF <field xpto> of the received message is greater than 0.
    branch 1.
    ELSE.
    branch 2.
    ENDIF.
    If your branch 1 or 2 is a send step, then you can use the conditional routing to substitute BPM logic.
    otherwise, you can not use conditon editor to replace your BPM logics.
    Regards.
    Liang

  • ROWNUM with Greater than symbol..!

    Hi
    Can any one explain why ">" greater than operator not working with ROWNUM.
    FOR EXAMPLE:
    SELECT * FROM EMP where rownum > 2;
    But the less than operator is working.
    SELECT * FROM EMP where rownum < 2;
    Please clarify this.
    Thanks in advance.
    Regards
    Sathya

    Hello,
    " … since something like a rownumber actually doesn't exist …"I’m pretty sure the OP is referring to the pseudo-column ROWNUM, which generated automatically by the db systems, for every query. This value, starting with 1, is being attached to every record which satisfy the where clause condition. Hence, for the first record to be assigned a rownum, the where clause must consider rownum=1 as a valid condition.
    " Rownum needs to be "generated" in a subquery first "I don't see any problem with the following code (with no subquery):
    select * from emp
    where rownum <=3;This query will display the first 3 fetched (not sorted) records from the emp table.
    Regards,
    Arie.

  • Passing variable of size greater than 32767 from Pro*C to PL/SQL procedure

    Hi,
    I am trying to pass a variable os size greater than 32767 from Pro*C to an SQL procedure.I tried assigning the host variable directly to a CLOB in the SQL section but nothing happens.In the below code the size of l_var1 is 33000.PROC_DATA is a procedure that takes CLOB as input and gives the other three(Data,Err_Code,Err_Msg) as output.These variables are declared globally.
    Process_Data(char* l_var1)
    EXEC SQL EXECUTE
    DECLARE
    l_clob clob;
    BEGIN
    l_clob := :l_var1
    PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
    COMMIT;
    END;
    END-EXEC;
    I also tried using DBMS_LOB.This was the code that i used.
    Process_Data(char* l_var1)
    EXEC SQL EXECUTE
    DECLARE
    l_clob clob;
    BEGIN
    DBMS_LOB.CREATETEMPORARY(l_clob,TRUE);
    DBMS_LOB.OPEN(l_clob,dbms_lob.lob_readwrite);
    DBMS_LOB.WRITE (l_clob, LENGTH (:l_var1), 1,:l_var1);
    PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
    COMMIT;
    END;
    END-EXEC;
    Here since DBMS_LOB packages allow a maximum of 32767,the value of l_var1 is not being assigned to l_clob.
    I am able to do the above process provided i split l_var1 into two variables and then append to l_clob using WRITEAPPEND.i.e l_var1 is 32000 in length and l_var2 contains the rest.
    Process_Data(char* l_var1,char* l_var2)
    EXEC SQL EXECUTE
    DECLARE
    l_clob clob;
    BEGIN
    dbms_lob.createtemporary(l_clob,TRUE);
    dbms_lob.OPEN(l_clob,dbms_lob.lob_readwrite);
    DBMS_LOB.WRITE (l_clob, LENGTH (:l_var1), 1,:l_var1);
    DBMS_LOB.WRITEAPPEND (l_clob, LENGTH(:l_var2), :l_var2);
    PROC_DATA(l_clob,:Data,:Err_Code,:Err_Msg) ;
    COMMIT;
    END;
    END-EXEC;
    But the above code requires dynamic memory allocation in Pro*C which i would like to avoid.Could you let me know if there is any other way to perform the above?

    Hi,
    The Long Datatype has been deprecated use Clob or Blob. This will solve lot of problems inherent with the datatype.
    Regards,
    Ganesh R

  • GREATER THAN symbol appearing as &gt ; in SQL*Plus

    Version:11.2.0.3
    OS : RHEL 5.4
    We are a Software vedor firm.We have sent our SQL files to our client to execute. But the codes for various procedures and functions were failing
    because, in their SQL*Plus session (in Putty) the LESS THAN character < was appearing as &lt ; and GREATER THAN character > was appearing as &gt ;
    In the original code which we had sent to them has no problems with > or < characters.
    Original code
    Cursor feb_cur IS
      SELECT user_pwid
        FROM carton_hdr_dtl
       WHERE MODIFIED_DATE >= D_Last_Run_Date
       UNION
      SELECT user_pwid
        FROM carton_hdr_dtl_bkp
       WHERE (modified_date >= D_Last_Run_Date OR
              deleted_date >= D_Last_Run_Date);  But in the execution log file sent by our client, I can see &gt ; instead of > character.
    54   Cursor feb_cur IS
    55    SELECT user_pwid
    56        FROM carton_hdr_dtl
    57       WHERE MODIFIED_DATE &gt ;= D_Last_Run_Date
    58       UNION
    59    SELECT user_pwid
    60        FROM carton_hdr_dtl_bkp
    61       WHERE (modified_date &gt ;= D_Last_Run_Date OR
    62              deleted_date &gt;= D_Last_Run_Date);What are they doing wrong? They use putty. We use putty too but we don't have any issues.
    Edited by: Max on Dec 17, 2012 2:42 AM

    Thank you Blushadow, Nicosa for providing this clue.
    I checked with my client. They have put our scripts in Collabnet SVN version control and the implementor DBA will be provided the http URL .
    Apparently SVN is accessed using http protocol and yes you are right it is opened through a browser by typing an URL like below
    http://10.80.16.214:79839/svn/brcf/DBfiles/2012/WMHReleasel8/hrtb_pkt_wave.sqlFor most of the end users , the GREATER THAN character appears as > without any issues . For some users it appears as &gt ; . One potential cause is the difference in Internet Explorer version. They are currently looking into this.
    THANK YOU BLUSHADOW and NICOSA for shedding light on this.
    Hi Nicosa,
    A forum formatting question:
    How did you manage to get &gt_; (without the underscore) printed ? When I tried it the forums editor was converting it to > . This is why I placed a space/underscore between t and semi colon. Is there some escape character ?

  • Using '(' and less than operator in an xsql page sql query

    Dear All,
    I tried to use left parenthesis '(' and less than operator in an sql query through an xsql page, it doesn't let to use them.
    Do you know how to use those in an xsql page?
    Thanks for your help.
    Mustafa

    Following is the xsql page that I tried to run:
    <?xml version="1.0"?>
    <xsql:query xmlns:xsql="urn:oracle-xsql" connection = "bib" rowset-element="bib" row-element="book">
    (SELECT year,title,last,first,' ' as affiliation,publisher,price
    FROM book,author
    WHERE year=2001 and bookid=parentid
    UNION
    SELECT year,title,last,first,affiliation,publisher,price
    FROM book,editor
    WHERE year=2001 and bookid=parentid)
    INTERSECT
    (SELECT year,title,last,first,' ' as affiliation,publisher,price
    FROM book,author
    WHERE publisher='Publisher1' and bookid=parentid
    UNION
    SELECT year,title,last,first,affiliation,publisher,price
    FROM book,editor
    WHERE publisher='Publisher1' and bookid=parentid)
    </xsql:query>
    This is the error message generated after running:
    <ERROR>java.sql.SQLException: ORA-01009: missing mandatory parameter</ERROR>
    When I remove the parentheses it works but this results in a different result set.
    Can anybody tell me the reason?
    Thanks,
    Mustafa
    null

  • How can a function returning character length greater than 4000 be selected in SQL

    Hi,
    I want to know if there is a way to write a select query on a function call which returns a varchar of more than 4000 characters.
    CREATE OR REPLACE FUNCTION FUNC1
    RETURN VARCHAR2
    IS
    str VARCHAR2(32767);
    BEGIN
         str := <some string greater than 4000 char>;
          RETURN str;
    END;
    SELECT FUNC1 from dual; ---- This gives an PL/SQL numeric or value error. Character string buffer too small.
    Is there any way to resolve this?
    Thanks

    32767 is not default. The default is still 4000 for VARCHAR2. You need to set the initialization parameter MAX_STRING_SIZE= EXTENDED for 32767.
    Text from Oracle documentation
    Extended Data Types
    Beginning with Oracle Database 12c, you can specify a maximum size of 32767 bytes for the VARCHAR2, NVARCHAR2, and RAW data types. You can control whether your database supports this new maximum size by setting the initialization parameter MAX_STRING_SIZE as follows:
    If MAX_STRING_SIZE = STANDARD, then the size limits for releases prior to Oracle Database 12c apply: 4000 bytes for the VARCHAR2 and NVARCHAR2 data types, and 2000 bytes for the RAW data type. This is the default.
    If MAX_STRING_SIZE = EXTENDED, then the size limit is 32767 bytes for the VARCHAR2, NVARCHAR2, and RAW data types.

  • Greater Than &gt in Hana?

    Context:
    I have a Ms Sql Statement inside a xml file and I have a conditional with a "Greater Than" comparison, so because this within a XML File I can't use the regular syntax for "Greater Than" ( > ) then I use the (&gt;)
    Ms Sql Server Statement
    <Query ID="some_query">
    if ( DATEDIFF(day,@fechaVencimiento, getdate() ) &gt; 0  OR  @Consecutivo_Inicial &gt; @Consecutivo)
           begin
              set @Consecutivo= @Consecutivo_Inicial
              set @seReinicio = 2
           end
    </Query>
    Question:
    What would be the equivalent syntax for ( &gt; ) in Hana?
    Thanks in advance.
    Message was edited by: Tom Flanagan

    Hi there,
    Was '>' or '<' not working from XML? I used a > operator in a calculated column  and then exported the HANA model to see the XML file of it. It has something like this below:
    <formula>IF(&quot;EMP NO &quot; >=3,&quot;EMPLOYEE NAME&quot;,&quot;GENDER&quot;)</formula>
    Regards,
    Krishna Tangudu

  • User input formula variable with greater than/less than operators for KFG

    Hello all,
    I have used a formula in my query that is a difference of two key figures .For e.g:
    Difference = tax from system A  -  tax from system B.
    Now when the users run the report they should be prompted for the 'Difference' threshold for seeing the report say where difference is greater 100 or equal to 10 and so on.Currrently I have created a formula variable with 'user input' and created a 'condition' to display 'Difference' greater than the user entered value.
    However,it is required to have various selection options for setting the threshold of difference.For e.g User should be able to set say 'equal to'/'greater than/less than/not equal to operator for 'difference' in the initial selection screen of the report.
    With the current user-input formula variable I am not getting these 'greater than' etc operators.Any ideas on how to achieve this?

    Ya know, that's all well and good ... BUT ... WHAT IF you do want to sort text type columns with Greater Than and Less Than operatiors??
    SQL does it just Fine ... so WHY does APEX have the limit??? This is an Oracle BUG ... it SHOULD NOT limit the operators ... I realize "they" may be trying to be helpful with proper constraints to field searches ... but ... if SQL can do it, then ... no need for a limit.
    EG ...
    Show the records where
    the "Begin_Year-Wk" data is less than or equal to "2009-09" AND
    the "End_Year-Wk" data is greater than or equal to "2009-04"
    ... to give everything that was running in that 5 week period whether or not it starts within that time frame
    I can run this query perfectly fine via SQL ... but not in APEX ... unless I reconvert a lot of strings back to numbers, and for sorting / formatting / explain-to-user purposes, I really don't want them to be numbers.
    So ... there's gotta be a hidden tweak for operators somewhere ...

Maybe you are looking for