0

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

例如,

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

对于 TestColumn,原始表包含值 =(True 或 False)。但应显示为 (Y,N) 。我怎样才能使这种转变发生在视野中?

  1. 用户定义的功能可以包含在视图定义中吗?
  2. 使用 $dpconf 使用虚拟转换。(参考这里

您会推荐方法还是有更好的解决方案?提前感谢您的有用意见。

4

3 回答 3

0

尝试这个

CREATE VIEW TestView AS SELECT Col1, Col2, 
CASE WHEN TestColumn = 1 THEN 'Yes' ELSE 'No' END AS TestColumn FROM TestTable;
于 2013-11-14T19:48:27.667 回答
0
CREATE VIEW TestView AS
SELECT Col1,
       Col2,
       DECODE( TestColumn, 0, 'N', 1, 'Y', null ) AS TestColumn
FROM   TestTable;

SQLFIDDLE

于 2013-11-14T20:44:17.707 回答
0

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

SELECT CASE WHEN COL='TRUE' THEN 'Y' WHEN COL='FALSE' THEN 'NO' END AS NEW_COL_NAME ...
于 2013-11-14T19:47:17.037 回答