使用ADO数据库编程,VC++环境下有下面两个问题:首先,从表中读取了日期类型的数据(数据包含日期和时间部分,有年,月,日,时,分,秒)1):比较两个日期类型数据的大小,即先后,最后返回一个值,用来表示两个日期的大小,这个值是正数或者负数;2):求这两个数据的差值,最后转换为分钟。
等待中,欢迎各位解答,谢谢!

解决方案 »

  1.   

    1) case when date1>date2 then 1 else 0 end
    2) SELECT ABS(DATE '2009-10-1' - DATE '2009-10-2')*60*24 FROM dual
      

  2.   

    你到底是想在VC中实现还是ORACLE中用SQL来实现?
      

  3.   

    if(date1>date2 )
    int flag=1;
    运行:error C2593: 'operator <' is ambiguous
      

  4.   

    cast(date2 as timestamp)-cast(date1 as timestamp) 可以计算时间差
      

  5.   

    1) case when date1>date2 then 1 else 0 end 
    2) SELECT ABS(DATE '2009-10-1' - DATE '2009-10-2')*60*24 FROM dual
      

  6.   

    select sign(date1-date2)flag,(date1-date2)*24*60 time from...date1和date2为两个要比较的date型数据。若相减值为负,sign返回-1,正,返回1,0,返回0.
    date1-date2的值的单位为天,转换成分钟只需*1440即可,根据需要添加round函数对结果进行四舍五入
      

  7.   

    这个是SQL啊,希望在VC++中通过ADO操作数据库实现,在VC编程区放了两天,没反应,希望这里有知道的人解答一二,不胜感激。