在APEX报告中将0或1值更改为"是"和"否"

Jam*_*son 3 oracle oracle-apex

我的页面上有一个报告区域,它从students表中获取数据.在该表中,有一个名为cv_lodged1或0 的列,表示是或否.在报告中,它将此列数据显示为0或1,我想将其更改为显示是或否.

我怎样才能做到这一点?

Jus*_*ave 5

您可以CASE在查询中添加语句

SELECT (CASE WHEN cv_lodged = 1 
             THEN 'Yes'
             ELSE 'No'
         END) cv_lodged,
       other_columns
  FROM students
Run Code Online (Sandbox Code Playgroud)

如果这可能是常见的,那么创建一个将伪布尔数据转换为字符串的函数可能会更好.就像是

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;
Run Code Online (Sandbox Code Playgroud)

您将在查询中调用

SELECT my_bool_to_str( cv_lodged ) cv_lodged,
       other_columns
  FROM students
Run Code Online (Sandbox Code Playgroud)