我知道rownum的基本作用是伪列,用于区分每个列;可是下面这种用法不知道是什么作用select A.begin_date,A.hours,A.sk,sum(C.quality) 
  from ( 
select to_date('2009-1-12','YYYY-MM-DD')+(rownum-1)/24/4 begin_date 
      ,to_date('2009-1-12','YYYY-MM-DD')+rownum/24/4 end_date 
      ,trunc(mod(rownum-1,4*24)/24) hours 
      ,mod(mod(rownum-1,4*24),4) sk 
  from table_name A,table_name B 
where rownum <=4*24*30 --30天 
) a left join table_name C on C.c_date between A.begin_date and C.end_date 
group by A.begin_date,A.hours,A.sk 
题目是每隔15分钟统计一下数据,可是那个rownum/24/4是什么意思,难道rownum还与时间有关,不太明白。
还有就是@,我登陆数据库时用conn sys/r04944 as sysdba可以,但用conn sys/r04944@DBA as sysdba就不行,那@在oracle到底是有何作用啊
请高手指教指教

解决方案 »

  1.   

    @后面跟的是服务器端的sid
    比如你连到orcl库,可以conn  sys/r04944@orcl
      

  2.   

    第一个问题
    to_date('2009-1-12','YYYY-MM-DD')+rownum/24/4
    前面to_date('2009-1-12','YYYY-MM-DD')代表的是一个日期类型对吧
    如果直接对日期类型进行加减操作的话是默认以天为单位的
    假设rownum=1 那么1/24是不是就是1个小时 1/24/4是不是就是15分钟了 呵呵第二个问题
    不加@的时候是通过本地验证的方式连接进ORACLE的
    你加@的时候登录报什么错
      

  3.   

    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified
    SP2-0640: Not connected
      

  4.   

    TNS没配好
    去百度一下那个错误
    很多解决办法的
      

  5.   

    conn后面的@是NetCa配置的本地Net服务器名配置,连接到远程Oracle数据库