oracle数据库表中有日期字段,可以根据时间先后顺序,取得数据到另一个数据库中。但有的表中没有日期字段,有TM字段,从1开始,每更新一条记录,TM自动加1,现在根据TM取得数据,有何办法???各位给出相应代码,,,,一定感谢。

解决方案 »

  1.   

    where tm between ... and ...
      

  2.   

    WITH t1 AS
    (SELECT 'data1' DATA ,SYSDATE-1 TIME FROM dual
    UNION ALL
    SELECT 'data2' DATA ,SYSDATE+1 TIME FROM dual),
     t2 AS
     (SELECT '1' num FROM dual
     UNION ALL
     SELECT '2' FROM dual)
     
     SELECT c.DATA,c.TIME FROM 
     ([code=SQL]
            SELECT  row_number() over(ORDER BY a.TIME ) num,a.DATA,a.TIME
            FROM t1 a
      ) c, t2 d
     WHERE c.num = d.num /*+n*/
     AND d.num =2
     
     --n是t1表第一条记录对应t2表第一条记录num的对应关系(差)
    [/code]
      

  3.   


    WITH t1 AS
    (SELECT 'data1' DATA ,SYSDATE-1 TIME FROM dual
    UNION ALL
    SELECT 'data2' DATA ,SYSDATE+1 TIME FROM dual),
     t2 AS
     (SELECT '1' num FROM dual
     UNION ALL
     SELECT '2' FROM dual)
     
     SELECT c.DATA,c.TIME FROM 
     (
            SELECT  row_number() over(ORDER BY a.TIME ) num,a.DATA,a.TIME
            FROM t1 a
      ) c, t2 d
     WHERE c.num = d.num /*+n*/
     AND d.num =2
     
     --n是t1表第一条记录对应t2表第一条记录num的对应关系(差)