我正在做SQL SERVER 到 ORACLE的程序移值,遇到了SQL SERVER中的 CONVERT(binary(8),ll_long)的语法,不知道怎么修改,请有经验的哥们指点,一定高分相送:)
谢谢了!我在线等待……

解决方案 »

  1.   

    这个转换是在一个WHERE 条件中使用的,WHERE TIMESTAMP = CONVERT(binary(8),ll_TIMESTAMP)在SQL SERVER中的是TIMESTAMP类型时间戳,等同于binary(8)或varbinary(8),用DTS转到ORACLE下变成了RAW(255),可能还需要修改这个列的类型
    意图就是要比较时间戳是不是相同
      

  2.   

    楼主可以在ORACLE中试试这个:
    LONG 型在ORACLE中可以用NUMBER型来代替i number(8);
    i := 20050901 ;
       SELECT *
         FROM dual
        WHERE systimestamp > cast(to_date(i,'yyyy-mm-dd') as timestamp) ;
    这样就实现了LONG型到TIMESTAMP的转换了 ;
      

  3.   

    老虎的方法确实可行,利用CAST(变量 as timestamp)就可以实现原来在SQL SERVER中的类型转换了。