Compare the data lines

I need to compare rows of data and need help.
WHEN TYPE (is the same)
And THEN (beginning - end of the #1 ticket #2 Ticket) (if negative, 1)
OTHERWISE NULL END

Ticket #_Tyoe__Start __End_Test
1___one___2:00__3:00_0_
2___one___3:00__4:00_0_
3___one___2:30__3:30_1_

Basically, I need to know when the start and end times overlap when the type is the same.
Any help is appreciated. NO MATTER WHAT.

You must have the Ticket # 1Statut somewhere, can go for a logical column with ex
CASE WHEN TICKET = 2 THEN THE END OF THE STATE

If state you your question, we can help you more in detail

Tags: Business Intelligence

Similar Questions

  • compare the data and the output data that do not exist

    Hello
    I've written a procedure to insert data into a table 3 where I compare the data between two tables, if it matches it insert in the table test_a Joanie. If the exists not or other tables i.e. test_code and test_type it should output this data, where there is no. my code works for a single table, which is test_code. It's not DBMS display a line that is not in the table test_type. could just tell my why? Assume that if test_code a line which is only not in test_type it should out saying this line of incompatibilities with test_type and vice versa.

    -Here's my code

    Test of CREATE OR REPLACE PROCEDURE. GET_data
    IS

    BEGIN
    DELETE test.test_a;
    FOR c IN (select a.cCODE,
    a.type,
    a.Indicator,
    RTrim (xmlagg (xmlelement (e, a.codenum |))) (') a.codenum order) .extract ('/ / text()'), ',') codeNUMber.
    b.CCODE cc,
    b.type tp,
    b.Indicator ind
    test.test_code a, test.test_type b
    where a.ccode = b.ccode (+)
    AND a.type = b.type (+)
    AND a.indicator = b.indicator (+)
    Group of a.ccode, a.type, a.indicator, b.CCODE, b.type, b.indicator
    order of a.ccode)
    LOOP
    BEGIN
    IF (c.cCODE = C.c.c.
    AND C.type = C.tp
    AND C.indicator = C.ind
    AND C.SYS_IND = C.SYSIND) THEN
    insert into test.test_a (CCODE, type indicator)
    values (C.cCODE, C.type, C.indicator);
    ON THE OTHER
    dbms_output.put_line (' rules for cCODE issue: ' |) C.cCODE);
    dbms_output.put_line ('type: ' |) C.type);
    dbms_output.put_line (' indicator: ' |) C.Indicator);
    dbms_output.put_line (' problem of rules for CC: ' |) C.C.C.) ;
    dbms_output.put_line ('tp: ' |) C.TP);
    dbms_output.put_line ('ind: ' |) C.IND);
    END IF;
    EXCEPTION
    WHILE OTHERS THEN
    dbms_output.put_line (' rules for cCODE issue: ' |) C.cCODE);
    dbms_output.put_line ('type: ' |) C.type);
    dbms_output.put_line (' indicator: ' |) C.Indicator);
    dbms_output.put_line (' problem of rules for CC: ' |) C.C.C.) ;
    dbms_output.put_line ('tp: ' |) C.TP);
    dbms_output.put_line ('ind: ' |) C.IND);
    END;
    end loop;
    commit;
    END;
    /


    Thank you

    You must use a FULL OUTER JOIN instead an OUTER JOIN for this.

    Just curious, why do you need to use dbms_output instead to execute the SQL query with additional conditions (if part of your procedure)?. You can use two times, one to insert those that match and one for the selection of others who do not match.

    Kind regards.

  • No need to advise - compare the date in *.sql with sysdate.

    Hi guys,.

    Need some help here.

    Someone has a script that will compare the date specified with the current sysdate. If previously, he will order that SQL * PLUS to leave immediately.
    The audit will be essentially in a script *.Sql. Whenever we run the script, @c:\script.sql, it will be first of all to compare the dates and decide whether to proceed with the rest of the codes (dml) below the date checker in the same script.sql

    Thank you

    I would like to combine the solutions of bencol and alberto:

    whenever sqlerror exit
    
    DECLARE
       v_date   DATE := TO_DATE('', 'YYYYMMDD');
    BEGIN
       IF v_date >= TRUNC(SYSDATE) -- or perhaps:  v_date>= sysdate
       THEN
         null;
       ELSE
         raise_application_error(-20000,'Date is before SYSDATE!');
       END IF;
    END;
    /
    
    whenever sqlerror continue
    
    -- rest of your script
    ...
    

    (not tested)

    Published by: hm on 08.05.2012 02:51

  • By comparing the Dates in a group of data (different lines)

    I have a requirement where I have to compare dates in a dataset for each employee.  The data looks like this:

    WITH test_data AS

    (SELECT the '1' AS pk, '5900' AS emp_id, '5' AS rec_id, to_date('01-JAN-2014') AS rec_date FROM dual

    UNION ALL

    SELECT '2', '5900', '5', to_date('01-FEB-2014') FROM dual

    UNION ALL

    SELECT '3', '5900', '5', to_date('01-MAR-2014') FROM dual

    UNION ALL

    SELECT '4', '5900', '5', to_date('01-JAN-2014') FROM dual

    UNION ALL

    SELECT '5', '5900', '6', to_date('06-JAN-2014') FROM dual

    UNION ALL

    SELECT '6', '5900', '6', NULL FROM dual

    UNION ALL

    SELECT '7', '5900', '6', to_date('01-JUL-2014') FROM dual

    UNION ALL

    SELECT '8', '5900', '7', to_date('29-JAN-2014') FROM dual

    UNION ALL

    SELECT '9', '5900', '7', to_date('29-SEP-2014') FROM dual

    UNION ALL

    SELECT '10', '5900', '7', to_date('01-OCT-2014') FROM dual

    UNION ALL

    SELECT '11', '8595', '5', to_date('01-SEP-2014') FROM dual

    UNION ALL

    SELECT '12', '8595', '6', to_date('05-SEP-2014') FROM dual

    UNION ALL

    SELECT '13', '8595', '7', to_date('30-SEP-2014') FROM dual

    UNION ALL

    SELECT '14', '8595', '7', NULL FROM dual

    )

    REC_ID column is composed of 3 different types of records, which must satisfy this requirement:

    REC_ID 5 acts as point of departure, and REC_ID 6 must have a REC_DATE within 7 days of REC_ID 5 REC_ID 7 must have a REC_DATE within 30 days of REC_ID 6.

    • If the requirements are any record in REC_ID 5 acts like zero day or the starting point;
    • Any record in REC_ID 6 must be within 7 days of the date of REC_ID 5;
    • Any record in REC_ID 7 must be within 30 days from 6 REC_ID.

    My results:

    Expected results - satisfactory records

    EMP_ID

    DATE_1

    DATE_2

    DATE_3

    5900

    1 January 14

    6 January 14

    29 January 14

    8595

    1 sep-14

    5 sep-14

    30 sep-14

    I don't know how to compare dates in a dataset that are on different lines.  I thought using self-joins, query using the window as rank (), factoring functions, but I'm stuck pretty quickly.

    I appreciate all help.  Thank you!

    Aqua

    Hello

    AquaNX4 wrote:

    WOW odie_63: it would be a blessing if I was... but unfortunately, I'm on 10 gr 2.  That would have been great!

    Frank Kulash:

    I'm stuck (mentally) to the fact that there is an amount without discernment of records in the base table for each type of REC_ID.

    Some employees have 5 folders for REC_ID, 10 REC_ID 6 and 7 for REC_ID 7, which leaves me confused in how many self-joins I should do, or if it is at all possible.  I did a lot of arithmetic of dates with the data on the same line and certain ranks () functions for data residing on different lines, but this 1 seems to confuse me...

    I ran 1 self-join as below to see what it looks like and it confused me even more because I know the timestamp of the arithmetic in where clause still will not produce data as I want...  I am now trying another way...

    SELECT td2.rec_id,

    TD2.emp_id,

    TD2.rec_date

    Of

    test_data2 td2

    LEFT JOIN test_data td1 ON td1.emp_id = td2.emp_id


    It's a good start.

    You want an inner join, however, not an outer join, not you?  Outer join means "include td2 lines if they have data in the corresponding TD1".  If I understand the question, you are only interested in cases where it is matching data.

    Here's a way to do it:

    WITH joined_data AS

    (

    SELECT d5.emp_id

    d5.rec_date LIKE date_1

    d6.rec_date AS date_2

    d7.rec_date AS date_3

    ROW_NUMBER () OVER (PARTITION BY d5.emp_id

    ORDER BY d5.rec_date

    d6.rec_date

    d7.rec_date

    ) AS r_num

    OF test_data d5

    JOIN test_data d6 ON d6.emp_id = d5.emp_id

    AND d6.rec_date > = d5.rec_date

    AND d6.rec_date<= d5.rec_date="" +="">

    JOIN test_data d7 ON d7.emp_id = d6.emp_id

    AND d7.rec_date > = d6.rec_date

    AND d7.rec_date<= d6.rec_date="" +="">

    WHERE d5.rec_id = '5'

    AND d6.rec_id = "6"

    AND d7.rec_id = "7"

    )

    SELECT emp_id, date_1, date_2, date_3

    OF joined_data

    WHERE r_num = 1

    ;

    The subquery joined_data find all combinations of rows that meet the criteria.  We want to only 1 line by emp_id, so I used ROW_NUMBER assign unique r_nums (starting at 1) to all lines with the same emp_id and then, in the main query, rejected all but the 1st row.

    Knapen had a good idea, but it won't work for all cases.  There may be situations where the only combination of rows that meet the criteria does not use the MIN or MAX of dates of one (or several).

  • Why I need to_char allows to compare the date?

    Hi guys:

    I have a question that seem silly, but I couldn't know.

    I have a simple query on Oracle 11 G R2 and I use SQL developer 3.1.07, the schema and the data has been migrated from a SQL Server:
    select *
    from vernote 
    where whendate='09-JUL-12';
    It returns empty results. However, tuples are in the table. When I try this:
    select *
    from vernote 
    where to_char(whendate)='09-JUL-12';
    He returned 677 lines. the whendate data type is date. but when I try another table in the same pattern:
    select *
    from invoices
    where transpostdate='09-JUL-12';
    It returns tuples, and I don't have to use the function to_char. transpostdate is also a date. Could someone tell me why the two columns: whendate, transpostdate both are of type date, but I have to use to_char to compare, the other does not?

    Thanks in advance!

    Sam

    lxiscas wrote:
    Hi guys:

    I have a question that seem silly, but I couldn't know.

    I have a simple query on Oracle 11 G R2 and I use SQL developer 3.1.07, the schema and the data has been migrated from a SQL Server:

    select *
    from vernote
    where whendate='09-JUL-12';
    

    It returns empty results. However, tuples are in the table. When I try this:

    select *
    from vernote
    where to_char(whendate)='09-JUL-12';
    

    He returned 677 lines. the whendate data type is date. but when I try another table in the same pattern:

    select *
    from invoices
    where transpostdate='09-JUL-12';
    

    It returns tuples, and I don't have to use the function to_char. transpostdate is also a date. Could someone tell me why the two columns: whendate, transpostdate both are of type date, but I have to use to_char to compare, the other does not?

    Thanks in advance!

    Sam

    What kind of data are WHENDATE & TRANSPOSTDATE?

    If they are the data type DATE, then they contain data too part TIME.
    NEVER rely on the implicit data type conversion.
    July 9, 12 ' is STRING; not a DATE

    When TRUNC (transpostdate) = TO_DATE('09-JUL-2012','DD-MON-YYYY');

  • How do you compare the data collected continuously?

    So, I'm stuck on the basic architecture, therefore, hoping that you can push took me.

    What I have is a VI that measures the tensions permanently, then, I have a flow of power from DAQ hardware data points.  What I WANT is to act on the data points of tension, only, which are larger than the previous points.  For example, I want to act on the first data point, since it will be the most important, since there is nothing to compare to, then I want to compare the points of data subsequent to the first, until there is a greater than the first data point.  Then, I want to compare tensions the NEW value more and so on, etc. and act only on the NEW larger value.

    Consider this list of data points and corresponding outcomes:

    2 LAW

    4 LAW

    3. DO NOTHING

    3. DO NOTHING

    4-DO NOTHING

    5 LAW

    4-DO NOTHING

    5-DO NOTHING

    4-DO NOTHING

    3. DO NOTHING

    6 LAW

    I've been watch combinations of them for WHILE loops and shift registers and the tables, but the table would get so huge so fast and the MIN/MAX value of the TABLE palette function would get pretty slow and I don't need to evaluate all previous data.  I just need to be able to identify the highest value and then compare it to the following values until there is a NEW larger value.  It's a bit like how the warriors would fight several opponents until they lost and then, there's a new champion, and all subsequent warriors are compared to the new champion and so on and so forth.

    You have any suggestions on how to achieve this?  I'm puzzled.

    Thank you

    Dave

    Yes, either case will work, I put it in the structure case just to show that you need to put in there if you want to use.

  • Add dynamic buttons to each line of the report and bind the data line to this line-specific buttons

    I have a page with a form in the upper part and a report at the bottom that is bound to a table. I need to add a pair of buttons for each row in the table and add dynamic actions for these buttons. I need to submit the data corresponding to the line to a REST service and update the table/line. I know that it is possible to add ajax call and refresh the table after receipt of the response. But I don't know how can I dynamically include a pair of buttons on each line and access the data corresponding to the record when a particular button is clicked. I was not able to find such a feature using the help page. Can you please let me know if this is possible. Thanks in advance.

    Here is the representation of how I need to the page to look like.

    Col 1

    Col 2

    Col 3

    data 1

    data 21

    data 31

    Button 1

    Button 2

    data 2

    data 22

    data 32

    Button 1

    Button 2

    data 3

    data 23

    data 33

    Button 1

    Button 2

    data 4

    data 24

    data 34

    Button 1

    Button 2

    I should be able to access the data 1, data21, data button 31 11 and button21 etc.

    Select data1,

    data2,

    data3,

    ......,

    Button1 null,

    Button2 null,

    ROWID r_id

    Of...

    If you change the column for button1 and navigate to the area of column formatting you can create your button here, in several different ways.  You will need to play with the way you prefer.  See below:

    or or you could use and apply css of your theme.

    You create also two buttons in a single column.  From here you can reference columns in your selection by using the format #COLUNMNAME # (as I did with R_ID).

    Then, you will need something similar for all columns that you want to be able to recover when you click the buttons.  See below:

    -It would be Data1 column

    #DATA1 #.

    You would do this for each column that you want to access click the button as shown above.  You can skip this step and use jquery to iterate through the DOM using the. closest() and. find() and give each column a separate class.  Is your preference.

    You then create a dynamic action, when it is clicked on .button1.  Now that you have this object, you can get the id of the trigger object that would be your r_id and from here you can access all your individual data points (all this in a JavaScript in the dynamic action) and assign to items hidden on your page.  The next step in this dynamic action, you could run pl/sql and transmit the page elements.

    Hope that all of the senses.

    David

    Post edited by: DLittle

    As a bit of clarification: the r_id column does not have to be rowid, but it must be unique for each return line.  You can use your primary key or rownum.  Just what works for your scenario.

  • Compare the date of the day against a date entered

    Hello

    In my form, I need for the user to enter a 'date needed '. So I need to compare the need of today, and if it is less than 15 days away, I need to display a message: we need more 15 days to respond to your command. »

    I found some scripts on the Forum, but none is exactly what I need and I can't find how to modify them for this specific problem. Any help is appreciated.

    Thank you

    MDawn

    OK, you just need to add a script to the output of the dateNeeded field event.

    If (date2num ($.formattedValue, "MM/DD/YYYY") lt date() + 15) then

    $host.messageBox ("at least 15 days in the future be as date", "entered an incorrect date", 0, 0)

    endif

  • By comparing the date to sysdate

    I'm trying to compare a date from a database of Oracle (10 g R1) sysdate but does not work.

    DECLARE
       v_exit_date DATE;   --Let's assume exit_date from the database is today's date '15-APR-10'
    BEGIN
        SELECT 
          exit_date 
        INTO
          v_exit_date
        FROM TABLE_1 WHERE student_id = 3020;
          
       IF v_exit_date = sysdate  THEN
           dbms_output.putline ('Dates are equal');
       ELSE
           dbms_output.putline ('Dates are not equal');
       END;
    END;
    An equality (=) expression is not evaluated. I always 'The Dates are not equal' when waiting for "the Dates are equal." What is the problem with my PL/SQL?

    Thank you

    Published by: Northstar on April 15, 2010 11:32

    I ran this example below and it does not work on my db:

    Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
    Connected as fsitja
    
    SQL>
    SQL> set serveroutput on
    SQL> create table table_1 as select sysdate exit_date, 3020 student_id from dual;
    
    Table created
    SQL> DECLARE
      2     v_exit_date DATE;   --Let's assume exit_date from the database is today's date '15-APR-10'
      3  BEGIN
      4      SELECT exit_date
      5        INTO v_exit_date
      6        FROM TABLE_1 WHERE student_id = 3020;
      7     IF TRUNC(v_exit_date) = TRUNC(SYSDATE)
      8       THEN dbms_output.put_line ('Dates are equal');
      9       ELSE dbms_output.put_line ('Dates are not equal');
     10     END IF;
     11  END;
     12  /
    
    Dates are equal
    
    PL/SQL procedure successfully completed
    
    SQL> 
    
  • Calculated in point by comparing the Dates in IR

    Someone at - he was able to use a component calculated in IR to compare a date and post something else
    example of

    If (date > 1 January 2009 ') {1} else {2}

    I can not get to post whatever it is as 1 Although I graduate to that date dates in the field that I use to compare. Am I missing something, it seems like it should work, but it doesn't

    Any help would be appreciated.

    Thank you!!

    What is source and data type of the area date ?

    If it's a Date from the database then you compare a Date into a string. You need to convert one of them to the data of the other type

    Try

    If (date > ToDate (January 1, 2009 "")) {1} else {2}

  • want to compare the data in excel with real-time signal

    Hello

    my request is to check the PCB pins of I/o... Firstly I have signal corresponding to each pin in GOOD PCB board and the output of each needle is saved in excel using scripture to the spreadsheet... then the database be act as master for more tips of PCB...

    If I want to check the other pcb edge means that the same signals should be send on the pin of each Member of the PCB... received out of the Council should check with the data already stored in the database if this is the way to match status LED should illuminate otherwise is not to shine...

    pls help me finish this application... I have attached model vi with poster and Excel in too...

    I hate to say it, but you don't have really any type of application there.  It is quite difficult to help you complete when you barely started.  An express VI couple in a sequence structure do not apply.

    What you need to do is sit down and write a design specification.  What are your entries for this application? What are your results?  What do you think the UI to look like?  What steps do you need to do to go from A to B?  Chart out.

  • Reset the data line

    Stuck. I'm trying to configure a button to reset only the data in the row where the button is. Anyone? Pls.

    Add your button's click event.

    xfa.host.resetData("this.parent.tfData1,this.parent.tfData2,this.parent.tfData3");
    

    Where tfData1, 2, and 3 are replaced by what you named your fields.

  • compare the permeable line data and add

    I have data like this

    col1 col2

    1 AB

    1 CD

    2 PQ

    2 LM

    3A

    3 d

    I got kicked out like that

    1 ABCD

    2 PQLM

    3A

    3 d

    Please help me

    Thank you very much

    Hello

    Welcome to the forum!

    Whenever you have a question, tell what version of Oracle you are using.

    You should post some examples of data in a form people can actually use.
    For example:

    CREATE TABLE     table_x
    (       col1     NUMBER (4)
    ,     col2     VARCHAR2 (10)
    );
    
    INSERT INTO table_x (col1, col2) VALUES (1,   'AB');
    INSERT INTO table_x (col1, col2) VALUES (1,   'CD');
    INSERT INTO table_x (col1, col2) VALUES (2,   'PQ');
    INSERT INTO table_x (col1, col2) VALUES (2,   'LM');
    INSERT INTO table_x (col1, col2) VALUES (3,   'A');
    INSERT INTO table_x (col1, col2) VALUES (4,   'C');
    

    Also post the reulsts you want from these data, as well as an explanation of how to get these results.
    Did you publish the results, but not an explanation. Why do you want to

    2     PQLM
    

    in the output rather than

    2     LMPQ
    

    ? Or would be an acceptable?

    Combining data from multiple lines in a single large chain is called chain aggregation . There are several ways to do it, depending on your version and exactly what you need.
    Here's a way to string aggregation. It works in Oracle 9 (and more)

    WITH got_r_num     AS
    (
         SELECT     col1, col2
         ,     ROW_NUMBER () OVER ( PARTITION BY  col1
                                   ORDER BY          col2
                           ) AS r_num
         FROM     table_x
    )
    SELECT     col1
    ,     REPLACE ( SYS_CONNECT_BY_PATH (col2, ',')
              , ','
              )     AS all_col2s
    FROM     got_r_num
    WHERE     CONNECT_BY_ISLEAF     = 1
    START WITH     r_num     = 1
    CONNECT BY     r_num     = PRIOR r_num + 1
         AND     col1     = PRIOR col1
    ;
    

    The query above assumes that col2 never contains a «,» If so, then use another secondary channel never occurred in col2 as argument on SYS_CONNECT_BY_PATH 2nd. The 2nd argument of REPLACEMENT must be the same.

    See other ways to string aggregation:
    http://www.Oracle-base.com/articles/10G/StringAggregationTechniques.php

    Published by: Frank Kulash, may 6, 2010 16:34

  • compare the permeable line data and add more than 1 column

    I have data like this

    col1 col2 col3

    1 AB XY

    UV 1 CD

    EF 2 OP

    2 GH QR

    3. I M

    4 J N

    I got kicked out like that

    Col1 Col2

    1 AB CD XY UV

    2 EF GH OP QR

    3. I J

    M 4 N

    I'm using oracle 10.2.0.4.My table is located in the remote database. Also my concatinated output is greater than 4000 bytes

    I tried the queries I can copied that did not work.

    option 1
    It gives the error ORA-22992: cannot use LOB Locators selected remote tables

    Request_id SELECT, to_clob (wm_concat (col2 | col3) as notes)
    FROM table_x
    GROUP BY col1

    option 2
    This works, but does not allow to add other columns
    WITH got_r_num AS
    (
    SELECT col1, col2
    ROW_NUMBER () OVER (PARTITION BY col1
    ORDER BY col2
    ) AS r_num
    FROM table_x
    )
    SELECT col1
    REPLACE (SYS_CONNECT_BY_PATH (col2, ',')
    , ','
    ) AS all_col2s
    OF got_r_num
    WHERE CONNECT_BY_ISLEAF = 1
    START WITH r_num = 1
    CONNECT BY r_num = r_num + 1
    AND col1 = col1 PRIOR

    Please help me

    Thank you very much

    Try this

    with t
    as
    (
    select 1 c1,'AB' c2,'XY' c3 from dual union all
    select 1,'CD','UV' from dual union all
    select 2,'EF','OP' from dual union all
    select 2,'GH','QR' from dual union all
    select 3,'I','M' from dual union all
    select 4,'J','N' from dual
    )
    select c1, ltrim(sys_connect_by_path(c2,','),',')||','||ltrim(sys_connect_by_path(c3,','),',') c2
      from (select t.*, row_number() over(partition by c1 order by 1) rno
              from t)
     where connect_by_isleaf = 1
     start with rno = 1
    connect by c1 = prior c1
       and rno = prior rno + 1
    
  • By comparing the date with the BIGGEST rows

    Hi all
    Why don't the last statement asking all values?
    Suppose that:
     SQL> select * from test;
    
    TEMP_DATE
    ---------
    14-APR-11
    15-APR-11
    16-APR-11
    
    SQL> select months_between(to_date((select temp_date from test where rownum=1)),to_date((select temp_date from test where rownum=2)))test from test;
    
          TEST
    ----------
    
    
    
    
     
    I try to get the biggest date of temp_date column of the table of test, but instead, I myself dump of null values. What has gone wrong?
    Is there a way more easy to compare these values using GREATEST (I can do that easily with the MAX function however)?

    Best regards
    TA.

    Published by: Valerie good-natured April 14, 2011 20:48

    Hi, Val,

    Valerie Debonair wrote:
    ... I try to get the largest temp_date column of the table of test date...

    The simplest approach, which is

    SELECT  MAX (temp_date)   AS greatest_date
    FROM    test;
    

    but instead, I got dump of null values. What has gone wrong?

    As someone has already said, ROWNUM = 2 will never be TRUE. ROWNUM is 1 until a line was selected; then only does ROWNUM get incremented to 2.

    Is there a way more easy to compare these values using GREATEST (I can do that easily with the MAX function however)?

    To use the LARGER, you will need to rotate all values not NULL on a single line. It's a very bad idea. In fact, people sometimes unpivot data just so that they can use MAX instead of GREAT.

    Why do you want to do more BIG?
    If you use it, be careful for NULL values, because BIGGER returns NULL if one of its arguments is NULL.

Maybe you are looking for