2016-04-08 61 views
-2

Bir Satışta ne kadar süre kaldığını göstermek için iki tarih arasındaki süreyi hesaplamak istiyorum. Ancak, tarihleri ​​görüntülediğimde, yalnızca tarihi gösterir ve saati değil (dd/mm/yyyy hh24: mi: ss ile tarih ekledim).Oracle SQL Date saati göstermiyor mu? İki tarih arasında nasıl zaman gösterilir?

SELECT date 
FROM Sale 

Bu, Satış varlıklarıdır.

CREATE TABLE Sale 
(
    dateStart   DATE NOT NULL, 
    dateEnd    DATE NOT NULL 
); 

Temelde, sadece satış bitene kadar sol saat, dakika, saniye göstermek istiyorum (sol unrelevant öznitelikler). Yani dateEnd eksi dateStart ... Bunun için nasıl giderdim?

Teşekkürler!

+0

dönüştürmek gerekir: – SJ19

+1

Aradığınız denediniz o? Bu soru (diğerleri arasında) bir kopyası gibi görünüyor (bu) (http://stackoverflow.com/questions/1096853/calculate-difference-between-2-date-times-in-oracle-sql9) – Aleksej

cevap

0
with dates as 
    (select to_date('20160401 11:21','yyyymmdd hh24:mi') as date1, 
      to_date('20160327 10:13','yyyymmdd hh24:mi') as date2 
    from dual) 
    SELECT floor((date1-date2)*24) 
      || ' Hours ' || 
      mod(floor((date1-date2)*24*60),60) 
      || ' Minutes ' || 
      mod(floor((date1-date2)*24*60*60),60) 
      || ' Secs ' time_difference 
    FROM dates; 

üretecektir:

time_difference 
    ------------- 
    121 Hours 7 Minutes 59 Secs 
1

Tarihler bir format yok - onlar represented internally by 7 or 8 bytes bulunmaktadır.

Bu, tarihi biçimlendiren SQL istemcisidir ve varsayılan olarak SQL plus NLS_DATE_FORMAT oturum parametresini kullanır (bu, global olarak ayarlanmış bir istemci değişkeni değildir).

sonra sürekli olarak biçimlendirilmiş tarihi istiyorsanız bir dize neden SQL etiketi çıkarıldı

SELECT TO_CHAR(datestart, 'dd/mm/yyyy hh24:mi:ss`) 
FROM sale; 
+0

Cool I didn Bunu bilmiyorum, ancak iki zaman arasındaki zaman farkını nasıl hesaplayacağım? Todate (TO_CHAR)? – SJ19

+0

@SJacobs, dcieslak'ın [cevap] (http://stackoverflow.com/a/36494839/1509264) veya [bu soru] (http://stackoverflow.com/q/1096853/1509264) veya [bu soru] (http :) //stackoverflow.com/questions/7943055/oracle-date-difference-to-get-number-of-years. – MT0

İlgili konular