أوراكل - تحديد أفضل البيان من أجل الحصول على الفرق في دقائق بين اثنين التاريخ والوقت الأعمدة?
سؤال
أحاول الوفاء صعبة نوعا ما الإبلاغ طلب من العميل ، وأنا بحاجة إلى العثور على الفرق بين اثنين من أعمدة التاريخ والوقت في غضون دقائق.لقد حاولت استخدام trunc وجولة مع مختلف صيغ و لا يمكن أن يبدو أن تأتي مع مجموعة من المنطقي.هل هناك طريقة ذكية للقيام بذلك ؟ إذا لم يكن هناك أي طريقة لفعل هذا ؟
المحلول
SELECT date1 - date2
FROM some_table
يعود الاختلاف في أيام.ضرب من قبل 24 للحصول على اختلاف في ساعات و 24*60 إلى الحصول على دقائق.لذلك
SELECT (date1 - date2) * 24 * 60 difference_in_minutes
FROM some_table
يجب أن يكون ما تبحث عنه
نصائح أخرى
بشكل افتراضي, oracle تاريخ الطرح بإرجاع نتيجة في # أيام.
حتى مجرد ضرب من قبل 24 للحصول على # ساعات و مرة أخرى خلال 60 # من دقيقة.
على سبيل المثال:
select
round((second_date - first_date) * (60 * 24),2) as time_in_minutes
from
(
select
to_date('01/01/2008 01:30:00 PM','mm/dd/yyyy hh:mi:ss am') as first_date
,to_date('01/06/2008 01:35:00 PM','mm/dd/yyyy HH:MI:SS AM') as second_date
from
dual
) test_data
http://asktom.oracle.com/tkyte/Misc/DateDiff.html - رابط قتيلا من 2012-01-30
يبدو أن هذا هو المورد:
http://asktom.oracle.com/pls/asktom/ASKTOM.download_file?p_file=6551242712657900129