Oracle Datetime字符串格式

时间:2014-05-22 03:33:44

标签: string oracle date time average

我有以下oracle表,其中datetime在一个列中&数据类型为字符串

f_ID      f_type    f_date

1001      A         3/30/14 12:20:00 PM

1001      B         3/30/14 10:20:00 AM

1002      A         2/3/14 11:0:00 AM

1002      B         2/3/14 9:00:00 AM

1003      A         2/13/14 10:00:00 AM

1003      B         12/13/14 10:00:00 AM

1111      B         12/13/14 10:00:00 AM

我希望计算所有已计算的货物的平均时间>所以1001的出货时间差是2小时,1002是2小时,1003是10个月(303 x 24 = 7272)小时。 1111具有count = 1,因此可以从平均值中排除。

所以平均结果应为(2+2+7272)/3 = 2425.33 hours

如何查询?

1 个答案:

答案 0 :(得分:0)

这个应该有效:

WITH t AS
    (SELECT f_ID, ABS(b.f_date-a.f_date)*24 AS duration
    FROM my_table a
        JOIN my_table b USING (f_ID)
    WHERE a.f_type = 'A'    
        AND a.f_type = 'B')
SELECT AVG(duration)
FROM t;