أوراكل - تحديد أفضل البيان من أجل الحصول على الفرق في دقائق بين اثنين التاريخ والوقت الأعمدة?

StackOverflow https://stackoverflow.com/questions/206222

  •  03-07-2019
  •  | 
  •  

سؤال

أحاول الوفاء صعبة نوعا ما الإبلاغ طلب من العميل ، وأنا بحاجة إلى العثور على الفرق بين اثنين من أعمدة التاريخ والوقت في غضون دقائق.لقد حاولت استخدام 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top