我的頁面上有一個報告區域,它從students
表中獲取數據。在該表格中,有一列叫做cv_lodged
,它可以是1或0代表是或否。在報告中顯示的這些列數據爲0或1,我想將其更改爲顯示是或否。在APEX報告中將0或1的值更改爲「是」和「否」
如何可以我這樣做?
我的頁面上有一個報告區域,它從students
表中獲取數據。在該表格中,有一列叫做cv_lodged
,它可以是1或0代表是或否。在報告中顯示的這些列數據爲0或1,我想將其更改爲顯示是或否。在APEX報告中將0或1的值更改爲「是」和「否」
如何可以我這樣做?
你可以把CASE
語句查詢
SELECT (CASE WHEN cv_lodged = 1
THEN 'Yes'
ELSE 'No'
END) cv_lodged,
other_columns
FROM students
如果是這樣的東西,很可能是常見的,你可能是更好的服務,創造你的僞布爾數據轉換爲字符串的函數。像
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;
東西,你會在你的查詢調用
SELECT my_bool_to_str(cv_lodged) cv_lodged,
other_columns
FROM students
我通常只是在共享組件創建靜態LOV叫YES1_NO0,有2項:「是」 - > 1「否' - > 0.
在交互式報告中,您可以更改這些列。爲此,請編輯IR的列。將「顯示類型」更改爲「顯示爲文本(基於LOV,轉義特殊字符)」。然後在「值列表」下將「列過濾器類型」設置爲「使用命名的值列表過濾完全匹配」並選擇命名的LOV。
但是當然,你完全可以在SQL中做到這一點。
目前,有一個更簡單的方法來做到這一點。
首先打開APEX頁面,選擇「Yes/No」項目作爲開發人員,然後單擊該項目以打開頁面項目設置。
更改設置值從Use component settings
到Custom
。
之後將Yes Value
更改爲1
和No Value
至0
。
該解決方案具有一些優點:
select decode(mycolumn, 1, 'Y', 'N') from mytable where id = 123;
)或select case when ...