How to query for a NULL value?

Hi all,
how can I query for a NULL value in a ViewObject. I tried to set null as where-clause param [setWhereClauseParam(0, null)]. But the created statement looks like this:
SELECT ...
FROM ...
WHERE param = null
I would expect it to create something like WHERE param IS NULL. I hope anybody has a solution for this.
Thanks,
Axel

I think you should use setWhereClause("COL_NAME IS NULL")
You could use setWhereClauseParam(0, "NULL"), but only if you have a predefined query similar to: "SELECT X, Y, Z FROM A WHERE X IS :0" (which is a pretty useless query, as you can ONLY set "NULL" as the value for ":0").

Similar Messages

  • How do I set a NULL value for the parameter field

    Hi
    I've another question. I'm going to set single values for parameter fields.
    // e.g. set today for StartDate parameter field
    fc.setCurrentValue("", "StartDate", new Date());
    It should be possible to set a NULL value for date parameter fields.
    fc.setCurrentValue("", "StartDate", (Date)null);
    But this do not work. How do I set a NULL value correctly?
    Thank you in advance.
    Best regards,
    Thomas

    First question - is it a stored procedure parameter?
    You can't set a regular parameter field value to a null value.
    There was an issue with old version of the JRC, where it was allowing null to go through, but had unexpected behavior at times.
    Sincerely,
    Ted Ueda

  • How do I pass a null value to the reportDocument?

    I'm using CR 2008 and VS 2005. 
    I am using a stored procedure as the datasource for one of my report, which we run using the C# API.   The stored procedure is expecting a NULL in certain cases and I find I cannot pass a NULL with my current code:
    // Here I get the parameter
    // If we are dealing with an empty string or a NULL value, let's give it
                            // a value of a space so that Crystal's DLLs don't choke.
                            if ((value.Length == 0) || (value == "NULL"))
                                value = " ";
                            arrParams.Add(value);
    Object strParam = arrParams<i>;
    this.reportDocument1.SetParameterValue(num, strParam);
    The stored procedure parameter type is INT so in the report it shows up as NUMBER.
    How do I get a NULL value to the stored procedure?
    Thanks.

    See if this does the trick:
    Dim crParameterDiscreteValue As New CrystalDecisions.Shared.ParameterDiscreteValue()
    crParameterDiscreteValue.Value = Nothing
    C# would look something like;
    CrystalDecisions.Shared.ParameterDiscreteValue crParameterDiscreteValue;
    crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
    crParameterDiscreteValue.Value = null;
    Ludek
    Follow us on Twitter http://twitter.com/SAPCRNetSup

  • Issue with Results from Another Query (Error on Null value)

    Hi All,
    We have a WebI report using "Result from Another Query" option of BO XI R3.1. The report was running fine till recently the dimension object using result from another query had a null value. Report suddenly throwed error as the query filters are invalid.
    Is there a way to make this filter optional if no data/null value is there ? Because we need those null values in report as well.
    Thank you for your time.
    Thanks & Regards
    LN

    Hi Vivek,
    It was not directly solved but I applied alternate logic to over come the issue.
    Here's what I did to overcome:
    I used a sub query in place of the whole result from another query.
    For Ex:
    Dim1 inlist result from another query1
    I made it as
    Dim1 inlist (Dim0)
    where Conditions.
    Here Dim0 is the object which we use for Result from another query and Conditions will be the necessary filter conditions to arrive proper Dim0.  Make sure proper context is formed for the sub query.
    Even though it resolved my problem, It introduces an new issue. It causes increase in query run time when huge set of data is returned from sub query.
    Please let me know if i haven't explained clearly.
    Hi Aris_BO,
    Sorry for not responding earlier.  The logic would probably make more queries null & not null. Thats why I was not advised to use it.
    Thanks
    LN

  • How can I avoid the null values in cross tab?

    How can I avoid the null values in cross tab?

    Hello Anindita,
    Let me explain you the problem in detail.
    I have selected User and Program as rows in the cross tab. In Summarized Field I am counting the Programs.
    In DB I can have both User and Program null.
    Letu2019s take these scenarios...
    1) For a User, Program can be null
    2) For a Program, User can be null
    3) And both can be null.
    A null Program does not give problem since Cross tab does not count the null values and in my case too, it remove the Program which are null from the Cross tab because of the counting its doing on Program. Hence scenario 1 and 3 is not a Problem.
    Problem comes in scenario 2 (For a Program, User can be null).
    In this case since Program is not null it will get counted and will be grouped under null user but I donu2019t want to show the null user Grouping in my cross tab.
    "Suppress empty rows" and "suppress empty colums" does not help.
    Thanks & Regards,
    Amrita

  • How to eliminate # for empty date value in BEx Analyser

    Hi Gurus,
    Can any one please let me know how to eliminate # for empty date value in BEx Analyser.
    Thanks in advance
    peter

    Hi
    add the following macro to your workbook (template workbook):
    Sub SAPBexonrefresh(qstring As String, resultArea As Range)
    For Each c In resultArea
    If LCase(c.Value) = "not assigned" Then c.Value = ""
    Next
    End Sub

  • How to check the sql:query is return null value

    I have use :
    <sql:query var="sql1" dataSource="${db}">
    select col_name from table_name
    where a=<c:out value="${row.test1}"/>
    and b='<c:out value="${row.test2}"/>'
    </sql:query>
    So, how can I check this statement return null value which is no record within this table?

    The Result should never be null but can be empty. You can check if the Result is empty using an if tag and checking the rowCount property:
        <sql:query var="books"
          sql="select * from PUBLIC.books where id = ?" >
          <sql:param value="${bookId}" />
        </sql:query>
         <c:if test="${books.rowCount > 0}">
         </c:if>http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSTL7.html#wp84217
    Look for query Tag Result Interface

  • Index (or not) for excluding NULL values in a query

    Hello,
    I have table that can become very large. The table has a varchar2 column (let's call it TEXT) that can contain NULL values. I want to process only the records that have a value (NOT NULL). Also, the table is continuously expanded with newly inserted records. The inserts should suffer as little performance loss as possible.
    My question: should I use an index on the column and if so, what kind of index?
    I have done a little test with a function based index (inspired by this Tom Kyte article: http://tkyte.blogspot.com/2006/01/something-about-nothing.html):
    create index text_isnull_idx on my_table(text,0);
    I notice that if I use the clause WHERE TEXT IS NULL, the index is used. But if I use a clause WHERE TEXT IS NOT NULL (which is the clause I want to use), a full table scan is performed. Is this bad? Can I somehow improve the speed of this selection?
    Thanks in advance,
    Frans

    I build a test case with very simple table with 2 columns and it shows that FTS is better than index access even when above ratio is <= 0.01 (1%):
    DROP TABLE T1;
    CREATE TABLE T1
               C1 VARCHAR2(100)
              ,C2 NUMBER
    INSERT INTO T1 (SELECT TO_CHAR(OBJECT_ID), ROWNUM FROM USER_OBJECTS);
    BEGIN
         FOR I IN 1..100 LOOP
              INSERT INTO T1 (SELECT NULL, ROWNUM FROM USER_OBJECTS);
         END LOOP;
    END;
    CREATE INDEX T1_IDX ON T1(C1);
    ANALYZE TABLE T1 COMPUTE STATISTICS
         FOR TABLE
         FOR ALL INDEXES
         FOR ALL INDEXED COLUMNS
    SET AUTOTRACE TRACEONLY
    SELECT
              C1, C2
         FROM T1 WHERE C1 IS NOT NULL;
    3864 rows selected.
    real: 1344
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=59 Card=3864 Bytes=30912)
       1    0   TABLE ACCESS (FULL) OF 'T1' (Cost=59 Card=3864 Bytes=30912)
    Statistics
              0  recursive calls
              0  db block gets
           2527 consistent gets
           3864 rows processed
    BUT
    SELECT
         --+ FIRST_ROWS
              C1, C2
         FROM T1 WHERE C1 IS NOT NULL;
    3864 rows selected.
    real: 1296
    Execution Plan
       0      SELECT STATEMENT Optimizer=HINT: FIRST_ROWS (Cost=35 Card=3864 Bytes=30912)
       1    0   TABLE ACCESS (BY INDEX ROWID) OF 'T1' (Cost=35 Card=3864 Bytes=30912)
       2    1     INDEX (FULL SCAN) OF 'T1_IDX' (NON-UNIQUE) (Cost=11 Card=3864)
    Statistics
              0  recursive calls
              0  db block gets
           5052 consistent gets
           3864 rows processed
    and just for comparison:
    SELECT * FROM T1 WHERE C1 IS NULL;
    386501 rows selected.
    real: 117878
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=59 Card=386501 Bytes=3092008)
       1    0   TABLE ACCESS (FULL) OF 'T1' (Cost=59 Card=386501 Bytes=3092008)
    Statistics
              0  recursive calls
              0  db block gets
         193850 consistent gets
         386501 rows processedHence you have to benchmark you queries with and w/o index[es]

  • How to select instances without null value?

    hye all,
    i need to do th ereprocessing data whereas i have to select the instances without null value from the database..
    for example:
    id name
    123 izza
    345 alex
    567
    the id = 567 contain null value..so..its automatically will not be selected from the database...
    how about if it have about 10 or more attributes to be selected..
    how can i work with the SQL thanks..

    Hi,
    Query for your example should like like this:
    SELECT * FROM <your_table>
        WHERE name is null;
    how about if it have about 10 or more attributes to be selected..
    If using 10 or more attributes you mean 10 or more columns with null use this:
    SELECT * FROM <your_table>
        WHERE <col1> is null AND <col2> is null etc...Peter D.

  • How to look for a certain value in a database using sql

    Hello everyone. How do you do this in SQL? Or, is there a way to look for a certain value in a database? What I'm trying to do is this:
    I want to look for the exact value "abcdefg" in the database so that oracle will return me details on the following that contains the said value:
    1. the name of the table(s)
    2. the column/field name(s)
    Note: "abcdefg" could exist in different tables with different column names with different data types.
    Any help is much appreciated. Thanks.
    UPDATE: What about if I just want to check those fields/columns with string data types?
    Message was edited by:
    dongzky
    Message was edited by:
    dongzky

    Just a teeny tweek
    DECLARE
       l_dummy   VARCHAR2 (4000);
    BEGIN
       FOR rec IN (SELECT table_name
                     FROM all_tables)
       LOOP
          FOR rec2 IN (SELECT column_name
                         FROM user_tab_cols
                        WHERE table_name = rec.table_name)
          LOOP
             BEGIN
                EXECUTE IMMEDIATE    'select 1 from '
                                  || rec.table_name
                            || ' where to_char('
    || rec2.column_name
    || ') = ''CAS'' and rownum = 1'
                             INTO l_dummy;
                DBMS_OUTPUT.PUT_LINE (rec.table_name || ' ' || rec2.column_name);
             EXCEPTION
                WHEN NO_DATA_FOUND
                THEN
                   NULL;
             END;
          END LOOP;
       END LOOP;
    END;

  • How to find out the null values in table

    hi experts,
    my version is oracledb10g:
    i h'd simple doubts.
    for eg:
    create table ex1( e varchar2(20));
    insert into ex1 (null).
    insert into ex1(e)
    count will be: 2
    i can easily found out the value 'e'.
    so my question is:
    how can i found out the null values in the table and i want to delete the null values from the table.

    ADF 7 wrote:
    hi experts,
    my version is oracledb10g:
    i h'd simple doubts.
    for eg:
    create table ex1( e varchar2(20));
    insert into ex1 (null).
    insert into ex1(e)
    count will be: 2That depends what you count. If you issue count(*) you are asking Oracle "how many rows are there". If you issue a count(<column_name>) you are asking Oracle "how many not null values of <column_name> are there".
    ADF 7 wrote:
    i can easily found out the value 'e'.
    so my question is:
    how can i found out the null values in the table and i want to delete the null values from the table.
    delete from <table_name>
    where <column_name> is null;Ideally you'd just place a NOT NULL constraint on the column in question, thereby prohibiting NULL values from entering into the system (assuming your business requirement is that the column MUST always have a value).

  • Simple Question: How to search for a date value in SELECT

    Probabily a simple question, but in a SELECT statement, how do you do a search for a date value in the WHERE clause?
    example:
    Select * From Example
    Where date = 01/01/2001
    I know its not as simple as that, but what change has to occur to make it do what that example implies?
    Thanks In Advance.

    If you want to avoid the conversion part(to_date) you will need to specify the date in the format as ur nls date format.so the same query might not work if you change ur nls date format.
    so it is advisable to give it in general format.
    ie where date_col=to_date(01-01-2000,'dd-mm-yyyy')

  • Using Broadcaster to run a query for sequential Variable Values

    Hi SDN Community
    I came across a powerpoint slide regarding broadcasting which i hope to use in one of our reports.
    We are on SAP BW 35.
    Broadcaster has been used
    Your opinion would be greatly valued in regards to the direction i should proceed for our particular purpose.
    We basically have a report which is a web report.  This contains much html and javascript enhancements.
    But it essentially has queries with a series of variables.
    The customer would like the Queries to be cached for each variable value for performance reasons, on a daily basis.
    eg. Run the same query for Variable value BMABRM, then BMASRM, etc...
    In a loop fashion.
    Do not need to set a process chain to trigger broadcaster, or rather simply to schedule the broadcaster to run daily.
    I would basically then want to run this (cache) query in an iterative fashion, ie. rerun it for all the sites.
    Can you please make a recommendation to which is the best approach, whether a process chain should be set up, and any experience you may have had setting up a query to rerun for different variable values.  We would of course want the query to run successfully before rerunning it for the next variable to avoid locks, etc.
    Thank you in advance.
    Simon

    Hi Rahul,
    i have been trying to use the process chain functionality to do this but unsure how to do it.
    Which objects do you use in the process chain:
    Trigger Event Data Change (for Broadcaster)
    or Execute APD Model
    or Precalculation of Web Templates
    i am unsure how to incorporate the queries into the process chain.
    If you have any steps , it would be much appreciated.
    Thank you.
    Simon

  • How to query for messages on JMS Queue?

    Hi All,
    What is the best way to query on a JMS Queue? I would like to query for messages based on values entered on a screen. Can this be achieved using the JMS Adapter or any other adapter?
    JDev : 11.1.1.4
    Thanks and Regards.

    Hi,
    I am not 100% clear on your requirement and what selection criteria you need. I would be surprised if you need the DB adapter. If you just want to query how much message are in the queue or other related queries for example related to header information then DB adapter can be used. This only works when JMS queue is stored in the database. Personally I have never come across this requirement.
    I suggest to look in more detail of the JMS adapter. The JMS adapter can be used to select (subscribe) to certain messages. Please read the below for more information:
    http://docs.oracle.com/cd/E17904_01/integration.1111/e10231/adptr_jms.htm#CJACBCHJ
    The message is automatically removed from the queue (implicit delete) the moment it is picked-up. I would not recommend deleting a message directly from the queue using DB adapter. What is the point of publishing the message in the first place?
    Thanks
    Sander

  • How to replace  BLANK or NULL values in rule file

    Hi,
    I have a source file which contains Blank or Null values which i need to replace them with a number "042" .How we can do this in the rule file using "Replace "(Field->Properties).I tried keeping spaces but its failing. I am actually new to essbase please let me know how we can do this.
    Thanks in Advance

    Hi,
    Unfortunately you can't replace blank/null/space values directly. What you need to do is add a text field in your rules file first, then merge the text field with the column containing blank/null/space. Then you can use some creative find and replace to solve this problem.
    For example, I often add a column called "TextCleaner" to my rules files where I suspect b/n/s values. After merging there are 3 possible options for the value.
    1) "TextCleaner" (The original value was null)
    2) "TextCleaner " (The original value was space)
    3) "TextCleanerUSA Region" (The original value was valid data, such as USA Region)
    Now you can use the find and replace as follows
    First, F&R to remove any instance of "TextCleaner" and replace with 042. Be sure to check the "Match Whole Word" button. This swaps null values with 42
    Second, do the same thing but with "TextCleaner ". This swaps any space/blank values with 42.
    Third, replace "TextCleaner" with nothing. Do not check the "Match Whole Word" button. This changes any original valid values back to the original value.

Maybe you are looking for