Home > front end >  How to set a column value into null in select query in oracle?
How to set a column value into null in select query in oracle?

Time:07-05

I want to select a column value which is equal to a specific page item value and select the other values as null. The main table data is the following:

id first_numbers second_numbers
1 1112 2222
1 3434 1112

The value of first_numbers=1112 is equal to :p4_number=1112 page item so the expected result which I want is:

id first_numbers second_numbers
1 1112 null
1 null 1112

CodePudding user response:

Use CASE expression:

Sample data:

SQL> with test (id, first_numbers, second_numbers) as
  2    (select 1, 1112, 2222 from dual union all
  3     select 2, 3434, 1112 from dual
  4    )

Query itself:

  5  select id,
  6    case when first_numbers  <> &&P4_NUMBER then null else first_numbers  end first_numbers,
  7    case when second_numbers <> &&P4_NUMBER then null else second_numbers end second_numbers
  8  from test;
Enter value for p4_number: 1112

        ID FIRST_NUMBERS SECOND_NUMBERS
---------- ------------- --------------
         1          1112
         2                         1112

SQL>

As you use Apex, you'd use bind (instead of substitution) variable, i.e.

... case when first_numbers  <> :P4_NUMBER then
                                ^
                                |
                              this
  • Related