code01是 列的别名
数据库中没有这一列
decode(ID,'H','891200','891210') :
如果id='H' 则返回'891200' ;否则,返回'891210'

解决方案 »

  1.   

    如果像下面这样,select decode(ID,'H','891200','891210') as code01 from ......是不是就是错误的?
      

  2.   

    没有错 as code01 只是重新命名列名
      

  3.   

    那就是说decode的返回值赋给相对应记录的code01了?
    之后的程序里面我就可以用("code01").value的值了?如果有的话,这个值是不是保存在缓存中呢?
    如果单纯从数据查询的角度讲select decode(ID,'H','891200','891210') as code01 from ......和select ID from ......是不是一样的呢?
      

  4.   

    各位高手请别笑话。我到现在不清楚在select中使用函数和数学表达式的意义是什么呢?比方说有一个表,名叫INFO。
    NAME   AGE    SALARY
    ---------------------
    AAA    23      2000
    BBB    24      2500
    CCC    25      3000
    用这个语句查询select SALARY*2 as "月工资" from INFO.最后的结果是什么啊?是以下这样?
    SALARY   月工资
    ---------------------
    2000     4000
    2500     5000
    3000     6000
    还是以下这样?
    SALARY  
    ----------
    2000     
    2500     
    3000     
    还是以下这样?
    月工资 
    ----------
    2000     
    2500     
    3000
    还是其他的什么?请指教   
      

  5.   

    select SALARY*2 as "月工资" from INFO
    正确结果是这样
    月工资 
    ----------
    4000
    5000     
    6000