同样的语句执行结果不同:
SQL> select last_day(add_months(sysdate,-1))+1 l from dual;
 
L
-----------
2011-11-1 2SQL> select last_day(add_months(sysdate,-1))+1 from dual;
 
LAST_DAY(ADD_MONTHS(SYSDATE,-1
------------------------------
2011-11-1 20:06:24
为什么加了列别名后在命令窗口下执行结果会不一样呢?

解决方案 »

  1.   

    我查询出来是一样的
    SQL> select last_day(add_months(sysdate,-1))+1 l from dual;L
    ---------
    01-NOV-11SQL> select last_day(add_months(sysdate,-1))+1 from dual;LAST_DAY(
    ---------
    01-NOV-11你上面那个加别名,好像没显示全
      

  2.   

    仅仅是客户端显示的问题。
    查询结果是date,你可以用to_char转换以后再显示,就一样了
      

  3.   

    是哦 to_char后就一样了
    SQL> select to_char(last_day(add_months(sysdate,-1))+1,'yyyy-mm-dd hh24:mi:ss')  from dual;
     
    TO_CHAR(LAST_DAY(ADD_MONTHS(SY
    ------------------------------
    2011-11-01 17:36:41
     
    SQL> select to_char(last_day(add_months(sysdate,-1))+1,'yyyy-mm-dd hh24:mi:ss') l from dual;
     
    L
    -------------------
    2011-11-01 17:36:50
     
      

  4.   

    SQL>  select last_day(add_months(sysdate,-1))+1 l from dual;
     
    L
    -----------
    2011/11/1 1
     
    SQL> select last_day(add_months(sysdate,-1))+1 from dual;
     
    LAST_DAY(ADD_MONTHS(SYSDATE,-1
    ------------------------------
    2011/11/1 18:16:53
    我也是这个问题
      

  5.   

    哈哈,知道问题在那了,你看!
    SQL> select last_day(add_months(sysdate,-1))+1 l from dual;
     
    L
    -----------
    2011/11/1 1
     
    SQL> select last_day(add_months(sysdate,-1))+1 from dual;
     
    LAST_DAY(ADD_MONTHS(SYSDATE,-1
    ------------------------------
    2011/11/1 18:19:03
     
    SQL> select last_day(add_months(sysdate,-1))+1 qqqqqqqqqqqqqqqqqqqq from dual;
     
    QQQQQQQQQQQQQQQQQQQQ
    --------------------
    2011/11/1 18:19:11