SELECT TO_NUMBER(COLUMN1 - COLUMN2) * 24 * 60 * 60 * 1000 
FROM TABLE_NAME
得到毫秒数!SELECT TO_NUMBER(COLUMN1 - COLUMN2)
FROM TABLE_NAME
得到天数!

解决方案 »

  1.   

    SELECT TO_NUMBER(COLUMN1 - COLUMN2) * 24 * 60 * 60 * 1000 
    FROM TABLE_NAME
    得到毫秒数!SELECT TO_NUMBER(COLUMN1 - COLUMN2)
    FROM TABLE_NAME
    得到天数!如果定义一个ResultSet rs来存取你刚才的sql语句的ResultSet对象的话,rs取出来的是一个结果集,那假如你用一个int n=rs.getInt(TO_NUMBER;来存取所取的天数,这样对吗???
    取出的TO_NUMBER并不是数据库表中的一个列名,这样调用的话,会不会有错误呢???
      

  2.   

    问题出现了,如何解决?大家帮帮忙!多谢了1
    [Microsoft][ODBC Microsoft Access Driver] 表达式中 'TO_NUMBER' 函数未定义
      

  3.   

    1。我用的是ORACLE数据库,TO_NUMBER函数是可以的。对于ACCESS数据库,我不是很熟,不过我想应该也有类似的函数。
    2。用rs.getInt(1)或者rs.getString(1),取得第几列的值,指明TO_NUMBER所在的列就可以了;
    3。用getInt(1)时需要小心,因为TO_NUMBER得到的值可能并不是一个整数,因为有可能两个日期值的差值不是整天数。所以会有1.99993453425这样的值出现,可以用getString(1)取得,然后解析出来是几天,根据需要去尾或者补整。