Changing a 0 or 1 value to "Yes" and "No" in APEX report

James Dawson picture James Dawson · Nov 26, 2012 · Viewed 9k times · Source

I have a report region on my page and it's getting data from a students table. Within that table, there's a column called cv_lodged which is either 1 or 0 representing Yes or No. In the report it shows this columns data as 0 or 1, I want to change it to show Yes or No.

How can I do this?

Answer

Justin Cave picture Justin Cave · Nov 26, 2012

You can put a CASE statement in your query

SELECT (CASE WHEN cv_lodged = 1 
             THEN 'Yes'
             ELSE 'No'
         END) cv_lodged,
       other_columns
  FROM students

If this is something that is likely to be common, you're probably better served creating a function that converts your pseudo-boolean data to a string. Something like

CREATE FUNCTION my_bool_to_str( p_num IN NUMBER )
  RETURN VARCHAR2
IS
BEGIN
  IF( p_num = 1 )
  THEN 
    RETURN 'Yes';
  ELSE
    RETURN 'No';
  END IF;
END;

that you would call in your query

SELECT my_bool_to_str( cv_lodged ) cv_lodged,
       other_columns
  FROM students