Oracle View数据转换

时间:2013-11-14 19:43:46

标签: sql oracle view

这与Oracle 11g开发有关。可以定义其视图定义中的列来转换其数据吗?

例如,

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

对于TestColumn,原始表包含值=(True或False)。但应显示为(Y,N)。我怎么能在视图上进行这种转换?

  1. 用户定义的功能可以包含在视图定义中的任何帮助吗?
  2. 使用$ dpconf进行虚拟转换。 (Reference here
  3. 您会推荐方法还是有更好的解决方案?提前感谢您的有用输入。

3 个答案:

答案 0 :(得分:0)

您可以在查询中执行此操作

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

答案 1 :(得分:0)

试试这个

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

答案 2 :(得分:0)

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

SQLFIDDLE