在 Oracle 9i 中,获取包括时间在内的两个日期之间的差异的最佳方法是什么?类似于 C# 中的 Timespan 函数。
谢谢,查克
当您减去两个日期时,您会得到天数的差异。如果你把这个数字乘以 24,你就会得到小时数的差异。将该数字乘以 60,您会得到分钟数之差,等等。
您可以将差异表示为数字天数或间隔数据类型:http: //download.oracle.com/docs/cd/B10501_01/server.920/a96540/expressions9a.htm#1033525
当您在日期之间进行减法(类型 DATE)时,您会得到一个表示天数的数字(注意这是 NUMBER(p,s) 类型,而不是 INTEGER,因为许多 T-SQL 人员在 Oracle 中会感到困惑) . 然后,您可以将该数字乘以 24*60*60 以将其转换为秒。
n_diff := ABS(date1 - date2) * 24*60*60;