从双选中选择时是否可以指定Oracle 8i伪列的数据类型

时间:2018-08-03 14:57:26

标签: sql oracle sqldatatypes oracle8i

在Oracle中,可以像这样动态生成伪列和“伪表”(不确定这是否是正式术语):

(SELECT 'abc' AS pseudo_col_1,  123 AS pseudo_col_2 FROM dual) pseudo_table

我希望这样做,同时指定pseudo_col_1和/或pseudo_col_2的数据类型。 以下内容似乎在Oracle 11g中起作用,其中pseudo_col_2被指定为CLOB数据类型:

(SELECT 'abc' AS pseudo_col_1,  TO_CLOB(123) AS pseudo_col_2 FROM dual) pseudo_table

但是,我需要在没有TO_CLOB功能的 Oracle 8i 上获得相同的结果。

免责声明:我知道8i已经过时,因为我对此拥有控制权,所以不必对此方面发表评论。

1 个答案:

答案 0 :(得分:1)

您可以cast()设置为所需的类型:

SELECT cast('abc' as varchar2(255)) AS pseudo_col_1,
       cast(123 as decimal(10, 2)) AS pseudo_col_2
FROM dual;