跟这个没有关系,关键是dual表里面没有BB,CC列!12:29:02 SQL> select * from tdate;COL1       COL2       COL3
---------- ---------- ----------
c1         02-8月 -04 19-7月 -04
2          01-8月 -04 01-8月 -04
           10-8月 -04已用时间:  00: 00: 00.31
12:29:08 SQL> select col1 as col2,to_char(col2,'yyyymmdd') from tdate;COL2       TO_CHAR(
---------- --------
c1         20040802
2          20040801
           20040810已用时间:  00: 00: 00.16

解决方案 »

  1.   

    对不起,可能我上面的问题没描述准确。
    我的意思是说,我后面想使用列的别名作为函数的参数,这样好像行不通。
    用你的例子来说,我想执行:
    select coll2 as coll4, to_char(coll4, 'yyyymmdd') from tdate;coll4列并不存在, 只是coll2的别名。
      

  2.   

    不行,
    SELECT  '2004-1-1'  AS  BB,  TO_DATE('2004-1-1','YYYY-MM-DD')  AS  CC,  myFunc(CC)  AS  DD  FROM  ...
      

  3.   

    如果你要使用别名作为函数的参数,就要嵌套了。
    如select f_get(x.id) from (select idd as id from tablename) x
      

  4.   

    oracle中不支持对字段的别名的直接操作,在select语句中,在where条件里面都是不可以的,除非你嵌套表