2013-11-14 58 views
0

這與Oracle 11g開發有關。是否可以定義其視圖定義中的列來轉換其數據?Oracle查看數據轉換

例如,

CREATE VIEW TestView AS SELECT Col1, Col2, TestColumn FROM TestTable; 

對於TestColumn,始發表保存值=(真或假)。但應顯示爲(Y,N)。我怎麼能讓這種轉變發生在視圖上?

  1. 用戶定義函數可以包含在視圖定義中嗎?
  2. 使用$ dpconf進行虛擬轉換。 (Reference here

您會推薦一種方法嗎?還是有更好的解決方案?提前感謝您的有用幫助。

回答

0
CREATE VIEW TestView AS 
SELECT Col1, 
     Col2, 
     DECODE(TestColumn, 0, 'N', 1, 'Y', null) AS TestColumn 
FROM TestTable; 

SQLFIDDLE

0

你可以做,在查詢本身

SELECT CASE WHEN COL='TRUE' THEN 'Y' WHEN COL='FALSE' THEN 'NO' END AS NEW_COL_NAME ... 
0

試試這個

CREATE VIEW TestView AS SELECT Col1, Col2, 
CASE WHEN TestColumn = 1 THEN 'Yes' ELSE 'No' END AS TestColumn FROM TestTable;